云函数支持 HTTP 访问,所以可以很轻松地托管 Node.js 服务端程序。
# 准备工作
- 准备一个基础项目目录,参考 快速开始 - 初始化目录
# 创建简单的 Hello World
我们在工作目录下执行以下命令,创建一个最简单的 Node.js Server:
$ mkdir functions/server && touch functions/server/index.js && touch functions/server/package.json
functions/server/index.js
的内容如下:
// functions/server/index.js
const serverless = require('serverless-http');
exports.main = serverless((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
TIP
我们此处使用了 serverless-http (opens new window),把集成请求转化为 Node.js Server 能接收的 IncommingMessage (opens new window),同时把返回的 ServerResponse (opens new window) 转化为集成请求
functions/server/package.json
的内容如下:
{
"name": "my-serverless-server",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"serverless-http": "^2.3.0"
}
}
# 发布
发布云函数:
$ cloudbase functions:deploy server
创建路由:
$ cloudbase service:create -p /server -f server
随后便可以通过 https://${env}.service.tcloudbase.com/server
访问到 Node.js Server:
$ curl https://${env}.service.tcloudbase.com/server
Hello World
← 使用 HTTP 访问云函数 注意事项 →