// 1,导入express const express = require('express') const app = express() // 3定义一个中间件 // const mw = (req,res,next)=>{ // console.log('中间件'); // next() // } // // 4,全局生效的中间件 // app.use(mw) // 6,全局中间件简化 app.use((req,res,next)=>{ console.log('中间件'); next() }) // 5,定义接口 app.get('/',(req,res)=>{ res.send('GET success') console.log('/'); }) app.get('/user',(req,res)=>{ res.send('GET success') console.log('/user'); }) // 2,启动服务器 app.listen(8080,()=>{ console.log('express serve running at http://127.0.0.1') }) // 多个中间件中间,是可以共享一份req和res的,在上游的中间件中可以自定义一些req和res方法,供下游的中间件使用
中间件的作用
// 1,导入express const express = require('express') const app = express() // 2,全局中间件简化 app.use((req, res, next) => { // 5,获取到服务器的时间 const time = Date.now() // 6,为req挂载时间 req.starTime = time next() }) // 3,定义接口 app.get('/', (req, res) => { res.send('GET success' + req.starTime) }) app.get('/user', (req, res) => { res.send('GET user'+ req.starTime) }) // 4,启动服务器 app.listen(8080, () => { console.log('express serve running at http://127.0.0.1') })
定义多个中间件
// 1,导入express const express = require('express') const app = express() // 2,定义第一个全局中间件 app.use((req, res, next) => { console.log('定义第一个全局中间件'); next() }) // 3,定义第二个全局中间件 app.use((req, res, next) => { console.log('定义第二个全局中间件'); next() }) // 5,定义接口 app.get('/user', (req, res) => { res.send('GET user') }) // 4,启动服务器 app.listen(8080, () => { console.log('express serve running at http://127.0.0.1') })
定义局部生效的中间件
// 1,导入express const express = require('express') const app = express() // 2,定义局部生效的中间件 const mw1 = (req,res,next)=>{ console.log('调用局部生效的中间件'); next() } // 5,创建路由 // mw1只会在user中局部生效 app.get('/user', mw1,(req, res) => { res.send('GET user') }) app.get('/', (req, res) => { res.send('GET success') }) // 4,启动服务器 app.listen(8080, () => { console.log('express serve running at http://127.0.0.1') })
定义多个局部生效的中间件
// 1,导入express const express = require('express') const app = express() // 2,定义局部生效的中间件 const mw1 = (req,res,next)=>{ console.log('调用局部生效的中间件'); next() } const mw2 = (req,res,next)=>{ console.log('调用局部生效的中间件2'); next() } // 5,创建路由 // mw1只会在user中局部生效 app.get('/user', mw1,mw2,(req, res) => { res.send('GET user') }) app.get('/', (req, res) => { res.send('GET success') }) // 4,启动服务器 app.listen(8080, () => { console.log('express serve running at http://127.0.0.1') })
// 1,导入express const express = require('express') const app = express() // 2,定义局部生效的中间件 const mw1 = (req,res,next)=>{ console.log('调用局部生效的中间件'); next() } const mw2 = (req,res,next)=>{ console.log('调用局部生效的中间件2'); next() } const mw3 = (req,res,next)=>{ console.log('调用局部生效的中间件2'); next() } // 5,创建路由 // mw1只会在user中局部生效 app.get('/user', [mw1,mw2,mw3],(req, res) => { res.send('GET user') }) app.get('/', (req, res) => { res.send('GET success') }) // 4,启动服务器 app.listen(8080, () => { console.log('express serve running at http://127.0.0.1') })
标签:web,12,req,res,app,express,中间件,next From: https://www.cnblogs.com/wencaiguagua/p/16847977.html