有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

什么是云函数的层?

简单来说,层就是把项目中不经常变更的部分独立出来,云函数运行时再把层包含的文件挂载到云函数的执行环境中。详细说明可参考云函数的 层管理 文档。
说明
Next.js 项目的 node_modules 会比较大,项目稳定后,部署不需要每次都更新 node_modules。
把 node_modules 部署为层,每次部署只需要上传业务代码,部署会快很多。
更新 node_modules 的层时,建议使用 npm install --production安装依赖包,减少代码包体积,加快部署和启动速度。

是否需要静态托管?

建议把 SSR 应用的 static 目录和 public 目录下的所有文件启用 静态资源托管。 把静态内容( HTML、JavaScript、CSS、图像、视频等文件)托管到 COS,不需要通过云函数来访问,成本更低,速度也会有比较大的提升。

如何提高网站访问速度?

如果对于网站访问速度有要求,可以启用 CDN 加速
说明
自定义的 CDN 域名暂时只支持已经在腾讯云备案的域名。
更多 COS 设置 CDN 加速域名的说明请参见 COS 域名管理

如何自定义域名?

系统默认会给应用分配一个二级域名,如果用户想用自己的域名访问应用,可以设置自定义域名,具体操作请参见 配置自定义域名
自定义域名必须是已经在腾讯云备案的域名。
配置自定义域名后,系统会自动绑定到应用上,用户可以通过自定义的域名访问应用。
配置自定义域名后,需要在域名管理设置一条 CNAME 记录,指向系统分配给应用的二级域名。

如何自定义 Web 服务?

此处以 Next.js 为例,如果没有用 Express 等 web 框架替代 Next.js 默认的 Web Server,不需要做任何改动,编译出 .next 文件夹后,直接上传整个工程即可把应用部署到 Serverless 平台上。
如果有用到 Express 或别的 Web 框架,也只需要做很简单的改造,以 Express 为例:
1. 把启动 js 文件的名称修改为 sls.js,并把它放在项目的根目录下(控制台部署无需更名,只需填写入口文件名称)。
2. 把监听端口修改为导出 app 应用
const express = require('express')
const next = require('next')
?
async function createServer() {
const app = next({ dev: false })
const handle = app.getRequestHandler()
?
await app.prepare()
const server = express()
?
server.all('*', (req, res) => {
return handle(req, res)
})
?
// define binary type for response
// if includes, will return base64 encoded, very useful for images
server.binaryTypes = ['*/*']
return server
}
// comment out `listen`
// exports app server
?
// createServer().litsen(3000);
?
module.exports = createServer
Nuxt.js 项目请参见 Nuxt.js 部署指引

如何自动部署?

在本地修改和更新代码后,不需要每次都运行 scf deploy 命令来反复部署。用户可以直接通过 scf dev 进入开发模式
在进入 dev 模式后,Serverless 工具将监控文件的修改,当代码文件有更新时,自动再次进行部署,将本地文件更新到云端。
dev 模式开启时自动启用在线调试能力,用户可以在Chrome浏览器或者开发IDE内直接调试部署在云端的代码,具体操作参见文档。
dev 模式还会实时输出云端日志,每次部署完毕后,对项目进行访问,命令行会实时输出服务端产生的日志,便于查看业务情况和排障。


http://www.vxiaotou.com