NodeJS - 如何在任何文件中将express实例用作singleton(?)

时间:2014-04-07 09:19:48

标签: node.js express mongoose

项目结构

app.js
lib
    model
        User.js
        Product.js
routes
    .....

我想执行

app.param('PARAMNAME');

在每个模型文件中静默。 但我无权访问模型文件中的js实例。

如果没有像" init(app)"?

这样的方法,我怎么能这样做呢?

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是通过您的控制器。您可以访问控制器(路由)中请求对象中的app对象。在您的控制器中,您可以将app对象或特定值app.param('PARAMNAME')传递给您的模型。使用这种方法,您的代码看起来或多或少会像这样:

在你的app.js

app.get('/someurl', someController.someMethod);

someController.js

exports.someMethod = function(req, res) {
    // you have access to the "app" object here
    var paramName = req.app.param('PARAMNAME');
    // pass the value to your model
    yourModel.someMethod(paramName);
    // the rest of your controller code
}