静态网站托管
此方案适用于纯前端项目(React、vue 等)托管到 Serverless 平台(阿里云,腾讯云等)。
常见的场景有托管公司官网,个人主页,博客等。
使用方法
在任意的静态项目下加入下面的 f.yml ,内容如下:
service: my-static-demo ## 应用发布到云平台的名字
provider:
name: aliyun ## 发布的云平台,aliyun,tencent 等
deployType: static
package:
include:
- build ## 需要拷贝的目录
exclude:
- package-lock.json ## 忽略 package-lock.json 文件
custom:
customDomain:
domainName: auto ## 自动生成域名
信息
有时候 package-lock.json 文件会造成部署包过大(将 dev 依赖打入)。
加入 dev 依赖 @midwayjs/cli 。
{
"devDependencies": {
"@midwayjs/cli": "^1.2.36"
...
},
"scripts": {
"deploy": "npm run build && midway-bin deploy --skipBuild"
}
}
执行 npm run deploy 即可。
或者使用不同的 npm 包加速。
{
"scripts": {
"deploy": "npm run build && midway-bin deploy --skipBuild --npm=cnpm",
...
}
}
信息
这里使用 --skipBuild 参数是为了跳过函数的构建。 npm run build 对接前端的构建命令。
默认情况下,会使用 build 目录作为托管根目录,访问 / 路由时,会自动查找 /index.html 。
比如:
- / => /index.html
- /api/ => /api/index.html
可选配置
除了默认配置外,我们可以对静态网站做一些额外的配置。