一个能在express中通过app.use加载的包
我想npm 发布一个包,这个包,可以在express中通过 app.use 加载,这个包需要怎么搞呢?
3 回复
module.exports = function(req, res, next){
//你的包要做的事
next(); //最后必须执行这个,如果是异步则需要在异步结果调用这个
})
@zhengnz 谢谢。
1.如果中间件不需要配置对象,可以像下面这样:
//test.js
module.exports = function(req, res, next) {
//中间件具体功能定义在这里。。。记得调用 next() 或者 next('route');
//除非这个中间件是终点
next();
}
//调用这个中间件
var test = require('test');
app.use(test);
2.如果中间件需要配置对象或者其它信息: //test.js module.exports = function(config) { config = config || {}; return function (req, res, next) { //中间件定义。。。 next(); } }
//调用中间件:
var test = require('test')({'hehe': 'shit'});
app.use(test);
以上是在 《node与express开发》这本书的 22 章的 《22.2.2 中间件》一节中的方法。