Express 是老牌的 Node.js 框架 , 以简单和轻量著称 , 几行代码就可以启动一个 HTTP 服务器 。市面上主流的 Node.js 框架,如 Egg.js、Nest.js 等都与 Express 息息相关 。
Express 框架使用标准 Node.js 语法,主要由以下 3 个核心部分组成:
- 路由 。
- 中间件 。
- 错误处理 。
const express = require('express')const App = express()app.listen(9000, () => console.log('启动成功'))
假设上述代码写在 index.js 中,我们启动该应用使用命令 node ./index.js,控制台会输出“启动成功” 。为了方便,我们也可以在 package.json 中创建快捷命令,如下:
【花 15 分钟把 Express.js 搞明白,全栈没有那么难】
// package.json{"scripts": {"start": "node ./index.js"}}
那么现在启动应用就可以用 npm run start 命令 。不过这种方式在本地运行项目时会有一个弊端,就是修改文件后不会立即生效,需要重新启动 。为了提高效率,一般会使用一个名为 PM2 的模块启动 Node.js 应用 。
首先全局安装 pm2:
$ npm install -g pm2
安装后在项目目录下创建启动配置文件 ecosystem.config.js,代码如下:module.exports = {apps: [{name: 'first-api',script: './index.js',},],}
然后在项目目录下执行以下命令就可以启动项目了:$ pm2 start --watch
文章插图
上图中的
0
就是启动应用的 ID,下面会用到 。PM2 常用大命令如下:
- pm2 start:启动应用,--watch 表示监听文件修改自动重启 。
- pm2 list:查看已启动的应用列表 。
- pm2 logs <id>:查看日志输出 。
- pm2 delete <id>:删除指定应用 。
Express 中通过定义路由来处理请求 。
使用路由创建 API 接口路由用于定义如何处理请求 , 定义方式采用以下结构:
app.METHOD(PATH, HANDLER)
其中 app 表示 Express 的实例,其余的三个部分都属于路由配置,表示的含义如下:- METHOD:路由方法 。
- PATH:路由地址 。
- HANDLER:路由处理函数 。
app.get('/', (req, res) => {res.send('Hello World')})
使用app.get()定义了一个 GET 请求的路由,第一个参数 “/” 为路由地址,第二个参数为路由处理函数,是一个回调函数,该函数接受两个参数分别表示请求和响应 。当路由方法和路由地址匹配到用户请求时,路由处理函数就会执行 。
路由方法根据基本 API 规则支持五种,分别如下:
- app.get():GET 请求 。
- app.post():POST 请求 。
- app.put():PUT 请求 。
- app.delete():DELETE 请求 。
- app.all():匹配所有请求 。
请求对象路由处理函数的第一个参数表示请求对象,包含客户端请求携带的相关数据,常用的属性如下:
- req.query:URL 附加参数 。
- req.body:请求体参数 。
- req.method:请求方法 。
- req.headers:请求头对象 。
- req.params:URL 地址参数 。
app.post('/first/:id', (req, res) => {let { method, query, body, params, headers } = reqres.send({ method, query, body, params, headers })})
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 《繁花》胡歌|男神矫正之旅,整牙堪比do脸
- 中国电视剧盛典,把游本昌的“江湖地位”体现得淋漓尽致
- 36集《仙剑六》空降鹅厂,全员颜值实力派,仙侠剧又有天花板
- 电视剧收视率排行榜,《繁花》跌至第三,第一收视率高达2.199%
- 该咋的才可以把图片导入cad
- 重庆垫江恺之峰门票 2023重庆垫江恺之峰旅游区赏花攻略
- 《热辣滚烫》花絮记录贾玲减肥历程,贾玲走心诠释英文片名含义
- 重庆清明看花 2023重庆清明节赏花节活动
- 赵丽颖不演,成本超1亿,预售仅69万,《花千骨》电影版问题在哪?
- 睡觉应该把手机放多远 手机辐射范围是几米