這篇文章帶給大家的內容是關於nodejs中express框架的中間件及app.use和app.get方法的解析,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
用node開發項目,express是常用的框架,以下介紹下核心用法中間件和app的use、get方法:
中間件的實作很簡單:
// 一个简单的中间件 function middleware(req, res, next){ // req 参数可以接受一些请求的参数(req.query/req.body) 和 请求头信息 // res 用于响应信息 // 调用next()方法则进入下一个中间件 } // 几种常见的调用方式 app.use(middleware); app.use('/user',middleware); // 匹配部分路径 app.get('/login',middleware);
接下來是app.get/use的一些使用:
app.get(path,function); // 接收两个参数 路径 和 一个回调函数 app.use(path,function/router); // 也是接收两个参数 路径和get的区别是第二个可以放回调函数或者router对象 //值得注意的是,path如果忽略,如:app.use(function/router);也是合法的写法,表示匹配所有的路径
關於path和function的寫法,如下示例:
// get 访问示例会匹配/app和其子集路径,如:http:127.0.0.1:3000/app 以及http:127.0.0.1:3000/app[/aa/bb...等等]都会匹配 app.get('/app',(req, res, next) => { //TODO SOMETHING... }); //use 路由匹配和get方法一样 app.use('/app',(req, res, next) => { //TODO SOMETHING... }); //另一种写法 app.use((req, res, next) => { //TODO SOMETHING... });
但是我們經常見的還有這種寫法:
const session = require('express-session'); app.use(session({ secret: 'test01', resave: false, saveUninitialized: false }));
其實背後的實作也很簡單,回傳一個類別(req,res,next)=>{}函數就行了,例:
// 实现思路 app.use(myFunction()); function myFunction(){ // 做一些处理 return (req, res, next) => { next(); } }
相關推薦:
實例講解nodejs中express取得get與post傳值及session驗證的方法
以上是nodejs中express框架的中間件及app.use和app.get方法的解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!