Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ejfkdev opened this issue Mar 6, 2024 · 3 comments
Open

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

ejfkdev opened this issue Mar 6, 2024 · 3 comments
Assignees

Comments

@ejfkdev
Copy link

ejfkdev commented Mar 6, 2024

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?

@zllkjc zllkjc self-assigned this Mar 6, 2024
@zllkjc
Copy link
Member

zllkjc commented Mar 7, 2024

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

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

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

@ejfkdev
Copy link
Author

ejfkdev commented Mar 8, 2024

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

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

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

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

@zllkjc
Copy link
Member

zllkjc commented Mar 10, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants