Express框架深入学习api

Express框架代码极短,自身功能极简,完全是由路由和中间件构成的一个web开放框架。
从本质上来说,一个Express应用就是在调用各种中间件。

中间件可以挂载在路由上,或者不挂载路由,方法如下:

var app = express();
// 未挂载路由,所有请求都会执行该中间件
app.use(function(req, res, nex) {
req.session = 'test';
next();
});
// 挂载至路由/user/:id,任何指向/user/:id的请求都会执行该中间件。
app.use('/user/:id', function(req, res, nex) {
req.session = 'test';
next();
});
// 在一个挂载点,装载一组中间件
app.get('/user/:id', function(req, res, nex) {
req.session = 'test1';
next();
}, function(req, res, nex) {
req.session.username = 'test2';
next();
});

中间件分为5种:应用级中间件,路由级中间件,错误处理中间件,内置中间件,第三方中间件。
上述代码是应用级中间件。路由级中间件如下:

var app = express();
var router = express.Router();
router.use(function(req, res, nex) {
req.session = 'test';
next();
});

router.use('/user/:id', function(req, res, nex) {
req.session = 'test';
next();
});

router.use('/user/:id', function(req, res, nex) {
req.session = 'test1';
next();
}, function(req, res, nex) {
req.session.username = 'test2';
next();
});
// 将路由挂载至应用
app.use('/', router);

如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。

此条目发表在NodeJs分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注