一、Express安装
方式一:安装express-generator
安装脚手架
npm install -g express-generator
创建项目
express express-demo
安装依赖
npm install
启动项目
node bin/www
方式二:从零搭建自己的express应用结构
npm init –y
npm install express -S
二、Express的基本使用
我们来创建第一个express项目:
请求的路径中如果有一些参数,可以这样表达:
/users/:userId;
在request对象中药获取可以通过 req.params.userId;
返回数据,我们可以方便的使用json:
res.json(数据)方式;
可以支持其他的方式,可以自行查看文档;
https://www.expressjs.com.cn/guide/routing.html
const express = require('express');
// 创建服务对象
const app = express();
// 查询用户
app.get('/user', (request, response) => {
console.log('查询用户');
response.json('用户列表');
});
// 添加用户
app.post('/user', (request, response) => {
console.log('添加用户');
response.json('添加成功');
});
// 删除用户
app.delete('/user', (request, response) => {
console.log('删除用户');
response.json('删除成功');
});
// 修改用户
app.put('/user', (request, response) => {
console.log('修改用户');
response.json('修改成功');
});
// 监听端口
app.listen(3000, () => {
console.log('server is running at port 3000');
});
三、中间件
中间件的本质是传递给express的一个回调函数
这个回调函数接受三个参数:
✓ 请求对象(request对象);
✓ 响应对象(response对象);
✓ next函数(在express中定义的用于执行下一个中间件的函数);
中间件中可以执行哪些任务呢?
执行任何代码;
更改请求(request)和响应(response)对象;
结束请求-响应周期(返回数据);
调用栈中的下一个中间件;
如果当前中间件功能没有结束请求-响应周期,则必须调用next()将控制权传递给下一个中间件功能,否则,请求将被挂起
1.最普通的中间件
普通中间件使用 use,跟请求方式/路径无关,都能匹配到,通过next()调用下一个中间件
const express = require('express');
const app = express();
// 普通中间件使用 use
// 跟请求方式/路径 无关,都能匹配到,通过next()调用下一个中间件
app.use((request, response, next) => {
console.log('普通中间件1');
next();
});
app.use((request, response, next) => {
console.log('普通中间件2');
next();
});
app.use((request, response, next) => {
console.log('普通中间件3');
next();
});
app.listen(3000, () => {
console.log('server is running at port 3000');
});
2.path 匹配中间件
path中间件只跟请求路径有关,与请求方式无关
const express = require('express');
const app = express();
// path 中间件 只跟请求路径有关,与请求方法是无关
app.use((request, response, next) => {
console.log('普通中间件1');
next();
})