登录  /  注册
首页 > web前端 > js教程 > 正文

nodejs中express框架的中间件及app.use和app.get方法的解析

不言
发布: 2018-09-07 17:30:36
原创
6208人浏览过

本篇文章给大家带来的内容是关于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中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号