跳到主要内容

Express

Express 是一个轻量级、灵活的 Node.js Web 框架,以其简单易用和高度可扩展著称。它提供了简洁的 API 设计,支持中间件机制,能快速构建 RESTful API 或全栈应用。Express 拥有丰富的插件生态(如 body-parsercors),可轻松集成数据库、身份验证等功能,同时保持高性能和低学习成本,是 Node.js 开发者的首选框架之一。

本指南介绍如何通过多种方式在腾讯云托管上部署 Express 应用程序:

创建一个 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 -> 点击创建并等待创建完成即可。