跳转到主文档

发布到阿里云 FC

Modern.js 支持通过阿里云的云函数产品部署应用。部署时,Modern.js 会自动将应用打包成阿里云函数的所需的部署产物,并通过官方工具将应用部署到函数计算服务中。

启用功能

在项目目录中执行 pnpm new 启用部署功能,先忽略 CDN 相关内容,只开启云函数部署功能:

? 请选择你想要的操作:启用可选功能
? 启用可选功能:启用「部署」功能
? 默认使用框架自带的专业 Web 服务器,是否调整:否
? 请选择 CDN 平台:不使用 CDN
? 请选择云函数平台:阿里云 FC

可以发现 package.json 中已经新增了以下依赖:

{
+ "@modern-js/plugin-lambda-fc": "^1"
}

配置环境变量

部署到阿里云需要在环境变量中配置账号、区域等信息。包括 accountIdsecretIdsecretKey

部分可以进入代码仓库的环境变量可以放在项目的 .env 文件中。例如:

# 阿里云账号 ID
CLOUD_ACCOUNT_ID
# 阿里云区域信息(可选,默认 'cn-hangzhou')
CLOUD_REGION

另外与账号鉴权相关的信息,必须确保放在平台上,例如 GitHub Environments 中。

# 阿里云访问 AK
CLOUD_SECRET_ID
# 阿里云访问 SK
CLOUD_SECRET_KEY

获取发布配置

上述相关配置都可以在阿里云平台中获取。

  1. AccountID 在阿里云账号中心页获取:

aksk

  1. SecretID(AccessKey ID),SecretKey(AccessKey Secret),在用户信息管理页获取:

aksk

部署应用

在项目中执行 pnpm deploy,应用会首先进行构建,随后可以看到开始部署到阿里云函数:

fc

发布后,阿里云会输出一个临时可用的域名,打开浏览器访问即可。

补充信息

为了提升启动速度,阿里云 FC 容器限制压缩包大小为 50M,请尽可能精简你的代码依赖。

查看函数

可以通过阿里云 FC 控制台查看已经部署的函数,Modern.js 默认会使用项目 package.json 中的的 name 值作为函数前缀:

fc

在控制台中,可以进入函数进行调试、部署版本、添加新的 Trigger,或是为函数添加自定义域名等。