【发布时间】:2012-08-19 22:34:29
【问题描述】:
我有一个 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');
}
});
};
我看过一些与此相关的帖子,但没有一个真正解决我正在寻找的内容。我知道我可以将路由包装在一个函数中,但希望有一种替代方法可以让我的代码尽可能保持原样。
【问题讨论】:
-
我刚刚看到stackoverflow.com/questions/10090414/… 上的最后一篇文章,它建议将 ap 声明为全局。这样做有什么缺点吗?因为这对我有用。
-
用“app.set”替换你的“app.get”,它应该可以工作