![](/img/trans.png)
[英]Node.js express.Router ERR_MODULE_NOT_FOUND when import the new routes
[英]Passing a value to a Node js module for Express routes
我想将Express的环境传递给Express的路由模块。 我想关闭Express是否在开发或生产模式下运行。 为此,我猜我需要以某种方式将app.settings.env传递给路由模块。
我的路由模块为每条路由导出一个函数。 所以:
app.get('/search', web.search);
基于之前的stackoverflow帖子,我试过这个:
var web = require('./web')({'mode': app.settings.env});
但是节点抛出了类型错误(对象不是函数)。
我是Node和Express的新手。 我可以将值传递给快速路线吗?如果是,如何?
如果你web.js看起来像这样:
module.exports.search = function(req, res, next) {
// ...
};
module.exports.somethingOther = function(req, res, next) {
// ...
};
然后通过电话
var web = require('./web')({'mode': app.settings.env});
您尝试使用object(module.exports)作为函数。 在此输入错误。
您需要将module.exports转换为函数以将参数传递给它。 像这样:
module.exports = function (env) {
return {
// env available here
search: function(req, res, next) {
// ...
},
somethingOther: function(req, res, next) {
// ...
};
};
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.