一个能在express中通过app.use加载的包
发布于 7 年前 作者 semicoyoung 3314 次浏览 来自 问答

我想npm 发布一个包,这个包,可以在express中通过 app.use 加载,这个包需要怎么搞呢?

3 回复
module.exports = function(req, res, next){
    //你的包要做的事
    next(); //最后必须执行这个,如果是异步则需要在异步结果调用这个
})

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 中间件》一节中的方法。

回到顶部