一、安装express
npm i express
二、express应用
1.导入express
const express = require("express")
2.实例化express
const app = express()
3.监听访问并响应
//user 接口名
//req 请求对象
//res 响应对象
//res.send 响应内容
get请求
app.get("/user",(req,res) => {
res.send({
status:200
})
})
post请求
app.post("/user", (req,res) => {
res.send({
status:200
})
})
4.启动express
app.listen(80,() => {
console.log("http://127.0.0.1")
})
以上是最简单的express的应用
三、express的进一步使用
1.router的使用
项目中请求接口较多,可以将项目的请求单独抽离出来。如:router.js
1)导入router
const express = require("express")
2)实例化router
const router = express.Router()
3)使用router监听接口访问并响应
router.get("/user",(req,res) => {
res.send({
status:200
})
})
post请求
router.post("/user", (req,res) => {
res.send({
status:200
})
})
4)导出router
module.exports = router
5)将router挂在到express上
const router = require("./router")
app.use(router)
2.中间件的使用
中间件可以对请求数据进行处理,之后可以将处理的内容交给下一个中间件或者接口监听函数进行处理
中间间函数比接口监听函数多了一个next参数
1)全局中间件
app.use((req,res,next) => {
console.log("全局中间件")
next()
})
2)局部中间件
router.get("/user",(req,res,next) => {
console.log("局部中间件")
next()
})
3)内置中间件
//对json格式的请求体数据进行处理,使用后可以在req.body中获取请求体中数据
app.use(express.json())
//对x-www-form-urlencode格式的请求体数据进行处理,使用后可以在req.body中获取请求体中数据
app.use(express.urlencoded({extended:false}))
4)第三方中间件
npm i body-parser
const parser = require("body-parser")
app.use(parser.urlencoded({extends:false}))
5)处理错误的中间件
处理项目中出现的错误,比一般的中间件多了个error参数
app.use((error,req,res,next) => {
res.send(error.message)
})
3.使用中间件处理跨域问题
//设置跨域访问
app.use(function(req, res, next) {
console.log("跨域")
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With,X-Tag");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});