我有一个 ExpressJS 3 应用程序,并将我的路线放在单独的文件中。我想在我的 app.js 中声明一些可在路由文件中使用的配置 - 在路由定义本身之外。
在我的 app.js 中,我想做一些事情,例如:
app.set('path_to_models', '/path/models/');
然后在我的routes/index.js 文件中我希望能够执行此操作:
var Product = require(app.get('path_to_models') + 'product');
exports.list = function(req, res){
return Product.find(function (err, products) {
if (!err) {
res.render('product/manage', { products: products });
} else {
res.render('5xx');
}
});
};
我看过一些与此相关的帖子,但没有一个真正解决了我正在寻找的内容。我知道我可以将路由包装在一个函数中,但希望有一种替代方法可以使我的代码保持原样(如果可能的话)。
最佳答案
我只是创建一个单独的 config
模块来保存我的配置,并且在任何需要配置信息的模块中,我只需要像平常一样需要它。当更松散耦合的方法可以正常工作时,为什么还要将 Express 拖入其中呢?
config.js
exports.pathToModels = "/path/to/models";
routes.js
var config = require("./config");
console.log(config.pathToModels);
关于node.js - 将变量传递给expressjs 3条路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12030521/