rob*_*cks 5 javascript node.js express
我想将Express的环境传递给Express的路由模块.我想关闭Express是否在开发或生产模式下运行.为此,我猜我需要以某种方式将app.settings.env传递给路由模块.
我的路由模块为每条路由导出一个函数.所以:
app.get('/search', web.search);
Run Code Online (Sandbox Code Playgroud)
基于之前的stackoverflow帖子,我试过这个:
var web = require('./web')({'mode': app.settings.env});
Run Code Online (Sandbox Code Playgroud)
但是节点抛出了类型错误(对象不是函数).
我是Node和Express的新手.我可以将值传递给快速路线吗?如果是,如何传递?
如果你web.js看起来像这样:
module.exports.search = function(req, res, next) {
// ...
};
module.exports.somethingOther = function(req, res, next) {
// ...
};
Run Code Online (Sandbox Code Playgroud)
然后通过电话
var web = require('./web')({'mode': app.settings.env});
Run Code Online (Sandbox Code Playgroud)
您尝试使用object(module.exports)作为函数.在此输入错误.
您需要将module.exports转换为函数以将参数传递给它.像这样:
module.exports = function (env) {
return {
// env available here
search: function(req, res, next) {
// ...
},
somethingOther: function(req, res, next) {
// ...
};
};
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2878 次 |
最近记录: |