Express
Express 是一个轻量级、灵活的 Node.js Web 框架,以其简单易用和高度可扩展著称。它提供了简洁的 API 设计,支持中间件机制,能快速构建 RESTful API 或全栈应用。Express 拥有丰富的插件生态(如 body-parser
、cors
),可轻松集成数据库、身份验证等功能,同时保持高性能和低学习成本,是 Node.js 开发者的首选框架之一。
本指南介绍如何通过多种方式在腾讯云托管上部署 Express 应用程序:
- 1、一键从模版部署。
- 2、从Dockerfile部署。
创建一个 Express App
Note: 如果你已经有了一个 Express 应用,可以跳过这个步骤。
创建一个新的 Express 应用,首先需要保证在你记得机器上安装 Node.js 8.2.0 及以上版本。
创建一个目录 cloudrun-express
, 然后 cd
进入该目录。
执行如下命令在 cloudrun-express
目录:
npx express-generator --view=pug
cloudrun-express
将在目录中使用 pug 作为视图引擎创建一个新的 Express 应用程序。
在本地运行 Express App
运行 npm install
安装所有依赖项。
接下来,通过运行以下命令启动应用程序:
npm start
启动浏览器并导航至 http://localhost:3000
以查看该应用程序。
添加新路由
我们来增加一个/apis/users
的路由其返回结果如下:
{
"total": 2,
"items": [
{
"id": 0,
"name": "zhangsan",
},
{
"id": 1,
"name": "lisi"
}
]
}
首先在cloudrun-express/routes
目录下新增一个users.js
文件,内容如下:
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('', function(req, res, next) {
const data = {
total: 1,
items: [
{
id: 0,
name: 'zhangsan',
},
{
id: 1,
name: 'lisi',
}
]
}
res.send(JSON.stringify(data));
});
module.exports = router;
然后在cloudrun-express
目录下 app.js 中新增:
var usersRouter = require('./routes/users');
app.use('/api/users', usersRouter);
最后执行npm start
启动服务,访问http://localhost:3000/apis/users
即可返回相应结果。
将 Express 应用部署到腾讯云托管
一键从模版部署
1、打开腾讯云托管
2、点击新建 -> 选择 Express 模版进行安装
Note: 模版源码下载地址
从Dockerfile部署
1、在cloudrun-express
目录下创建一个名称为Dockerfile
的新文件,内容如下:
FROM alpine:3.13
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \
&& apk add --update --no-cache nodejs npm
# 容器默认时区为UTC,如需使用上海时间请启用以下时区设置命令
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
# 使用 HTTPS 协议访问容器云调用证书安装
RUN apk add ca-certificates
# # 指定工作目录
WORKDIR /app
# 拷贝包管理文件
COPY package*.json /app/
# npm 源,选用国内镜像源以提高下载速度
RUN npm config set registry https://mirrors.cloud.tencent.com/npm/
# RUN npm config set registry https://registry.npm.taobao.org/
# npm 安装依赖
RUN npm install
# 将当前目录(dockerfile所在目录)下所有文件都拷贝到工作目录下(.dockerignore中文件除外)
COPY . /app
# 执行启动命令
# 写多行独立的CMD命令是错误写法!只有最后一行CMD命令会被执行,之前的都会被忽略,导致业务报错。
# 请参考[Docker官方文档之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd)
CMD ["npm", "start"]
2、部署代码
打开腾讯云托管, 点击新建
按钮 -> 选择从空白创建
-> 填写服务名称 -> 部署方式选择上传代码包
-> 代码包类型选择文件夹
-> 选择 cloudrun-express 目录进行上传 -> 端口填写 3000 -> 点击创建并等待创建完成即可。