modern.js icon indicating copy to clipboard operation
modern.js copied to clipboard

[Feature]: 轻量级的部署方式,适应serverless环境

Open ejfkdev opened this issue 1 year ago • 3 comments

What problem does this feature solve?

前端静态页面+API,没有使用SSR,使用SSG编译dist产物几MB,因为用到了API功能,所以要使用modern serve启动web服务

希望部署到serverless服务,阿里云腾讯云等云函数平台

modern serve依赖@modern-js/app-tools,仅这一个包安装后代码包大小超过300MB,@modern-js/runtime包大约40MB,远远超出平台的部署限制

而且serverless规定必须使用0.0.0.0:9000启动,serve模式也需要能自定义绑定ip

What does the proposed API look like?

ejfkdev avatar Mar 06 '24 05:03 ejfkdev

我们正在规划这类轻量级的部署方案,后续会提供开箱即用的部署方式。

目前你可以直接通过 @modern-js/prod-server 这个包来运行你的产物代码,这是一个 Demo。 demo.zip

这个 Demo 中,除了你构建完的 Dist 文件后,你需要添加一个启动文件,并添加一个 package.json 文件。这里的依赖包括你服务端运行需要的依赖,通常是插件(Plugin BFF、Plugin Express),你用到的其他服务端依赖,以及 @modern-js/prod-server

zllkjc avatar Mar 07 '24 03:03 zllkjc

我们正在规划这类轻量级的部署方案,后续会提供开箱即用的部署方式。

目前你可以直接通过 @modern-js/prod-server 这个包来运行你的产物代码,这是一个 Demo。 demo.zip

这个 Demo 中,除了你构建完的 Dist 文件后,你需要添加一个启动文件,并添加一个 package.json 文件。这里的依赖包括你服务端运行需要的依赖,通常是插件(Plugin BFF、Plugin Express),你用到的其他服务端依赖,以及 @modern-js/prod-server

npm安装完整个demo目录在90MB左右,基本可以用来部署了,如果能对server环境的代码也编译打包就更好了

ejfkdev avatar Mar 08 '24 07:03 ejfkdev

嗯,目前 Modern.js 的服务端架构例如插件、BFF 都还不太方便对 server 环境编译打包。我们正在做服务端的重构,考虑到 worker 环境,也会关注这个事情。

zllkjc avatar Mar 10 '24 03:03 zllkjc

我们已经完成了新的部署方案,可以试试看使用 Node 部署 https://modernjs.dev/guides/basic-features/deploy.html#nodejs。 Server 打包会作为我们下一个目标。

zllkjc avatar Jul 09 '24 12:07 zllkjc

我们已经完成了新的部署方案,可以试试看使用 Node 部署 https://modernjs.dev/guides/basic-features/deploy.html#nodejs。 Server 打包会作为我们下一个目标。

感谢,已经用上了,output只有十几M

ejfkdev avatar Jul 10 '24 04:07 ejfkdev

我们已经完成了新的部署方案,可以试试看使用 Node 部署 https://modernjs.dev/guides/basic-features/deploy.html#nodejs。 Server 打包会作为我们下一个目标。

我用这个做飞书多维表的插件感觉挺好使的,前后端都能写,可以找飞书推广推广modern.js啊

ejfkdev avatar Jul 10 '24 04:07 ejfkdev