NodeJS Express依赖注入和数据库连接

时间:2015-05-01 15:08:44

标签: node.js mongodb express dependency-injection

来自非Node背景,我的第一直觉就是定义我的服务

MyService.js

module.exports = new function(dbConnection)
{
    // service uses the db
}

现在,我希望每个请求都有一个开放的数据库连接,所以我在中间件中定义:

res.locals.db = openDbConnection();

在一些消费的Express api代码中:

api.js

var MyService = require(./services/MyService')

...

router.get('/foo/:id?', function (req, res) {
    var service = new MyService(res.locals.db);
});

现在,作为Node首选的依赖注入方法是通过require(...)语句,似乎我不应该使用MyService的构造函数来注入db

所以我想说我想拥有

var db = require('db');

位于MyService的顶部,然后以某种方式使用db.current ....但是,如果res.localsdb,我将如何将数据绑定到当前handler = $('#prod-list li'); // Get a reference to your grid items. 对象一个模块本身?什么是在Node中处理这种瘦的推荐方法?

0 个答案:

没有答案