混合部署
@wxcloud/cli
支持混合部署模式,即自动将静态资源部署到 CDN,服务端部署到云托管中,充分利用 CDN 加速和服务端完整能力的优势,降低容器流量使用和负载。
使用时,需要在 wxcloud.config.json
将部署类型指定为 universal
,参考如下:
{
"type": "universal",
"server": {}
}
支持情况
目前混合部署模式,开箱即用支持以下框架:
- Next.js
- Nuxt.js(v2 & v3)
如果没有自己使用的框架,可以通过自定义部署目标实现。
注意:如果在对应的框架配置文件中设置了 basePath
(Next) 或者 router.base
(Nuxt2) 或者 app.baseURL
(Nuxt3),在部署之后,需要在部署的链接后手动加上对应的 base
值才能访问。
静态资源
在执行 wxcloud deploy
时,会获取当前环境的静态资源域名,并替换对应框架的配置文件中 assetsPrefix
等字段。在构建完成后,配置文件会恢复原样。
自定义部署目标
使用 custom
模式,可以自定义需要部署的静态资源和容器代码包,但需要自行配置对应框架的静态资源引用配置,并将需要上传的服务端文件打包成 zip
格式。
参考配置如下(wxcloud.config.js
):
/** @type {import("@wxcloud/core").CloudConfig} */
const cloudConfig = {
server: {
port: 3000, // 端口
buildDir: '.', // 目标目录
versionRemark: 'custom-framework', // 版本备注
},
type: "custom",
custom: {
staticTarget: {
// 静态资源部署目标,key 为本地目录,value 为远端目录
public: '',
'.next/static': '_next/static/'
},
// 云托管代码包路径,zip 格式
runTarget: 'package.zip',
}
}
module.exports = cloudConfig