一.Express的基本使用
1.什么是express
Express是基于Node.js平台,快速、开放、极简的Web开发框架。
2.安装
在项目终端执行:
npm i express@4.11.1
3.导入
const express = require('express')
4.创建web服务器
const app = express()
5.监听请求
//GET请求
app.get(url,(req,res) => {})
//POST请求
app.post(url,(req,res) => {})
//利用res.send()将内容响应给客户端
//使用req.query可获得url中携带的查询参数
//使用req.params可获得url中的动态参数
6.如何运行
node 需执行的文件名
二.托管静态资源
1.创建一个静态资源服务器
app.use(express.static('public'))
注:express在指定的静态目录中查找文件,并对外提供资源的访问路径,存放静态文件的目录不会出现在url中。
2.挂在路径前缀
app.use('/public',express.static())
3.nodemom
监听项目文件的变动,自动重启项目。
nodemon 需执行的文件名
三.Express路由
1.什么是express路由
指的是客户端请求与服务器处理函数之间的映射关系。
app.METHOD(PATH,HANDLER).
//METHOD是请求类型,PATH是URL地址,HANDLER是处理函数
2.模块化路由
- 创建路由模块对应的js文件。
- 调用express.Router()创建对象。
- 向路由对象上挂载具体的路由。
- 利用moudle.exports共享路由对象。
- 使用app.use()注册模块。
四.Express中间件
1.中间体格式
本质上是一个function处理函数。
function(req,res,next){next()}
注:next是必须参数。
2.next函数
实现多个中间件连续调用的关键。
3.express中间件的分类
应用级别中间件:绑定到app实例上的中间件。
路由级别中间件:绑定到router实例上的中间件。
错误级别中间件:function(err,req,res,next){}。(防止项目异常崩溃)。
Express内置的中间件:
- express.static()。
- express.json()。
- express.unlencoded().
第三方中间件:body-parser(常用)。
4.自定义中间件
- 定义中间件。
- 监听req的data事件。
- 监听req的end事件。
-使用querystring模块解析请求头数据(parser()函数)。
- 将解析出的对象挂载为req.body。
-将自定义中间件封装为模块。
五.使用Express写接口
1.使用cors中间件解决跨域问题
安装:
npm i cors
导入:
const cors = require('cors')
调用:app.use()
2.cors的三个响应头
Acess-Control-Allow-Origin:| * 。
Acess-Control-Allow-Headers。
Acess-Control-Allow-Methods。
3.cors请求的分类
简单请求:GET、POST、HEAD三种方式。(只执行一次)
预检请求:简单请求之外的。(要执行两次)