使用依赖注入的Node.js应用程序示例

时间:2014-12-16 15:01:58

标签: angularjs node.js dependency-injection

我真的很喜欢依赖注入是如何在角度中完成的,所以我想在节点中使用类似的模式。有许多模块往往是DI容器,并且不容易选择。

在节点中是否有使用DI的真实示例?在这种情况下如何构建应用程序?

2 个答案:

答案 0 :(得分:1)

我在嘲笑测试方面有一个非常性感的答案,然后我重新阅读了你的问题......呃。

整个exports / require机制提供了依赖注入,您只需将require('module')更改为指向,即可模拟或替换所需的任何模块。新的。

您甚至可以包装您可能想要切换的任何其他API兼容的库集。例如,如果您在决定从underscore移动到lodash时接近神经衰弱,则可以创建一个名为“underdash.js”的模块。有了这个:

if (process.env.COLD_SWEATS || process.env.SHAKING || process.env.PALPITATIONS) {
    module.exports = exports = require('underscore');
} else {
    module.exports = exports = require('lodash');
}

然后当你需要它时,只需require('./underdash'),现在你不必关心你实际使用的低空间库,并且可以在开关的转换处改变它 - <因为API是相同的,否则你将会有一个糟糕的时间。

答案 1 :(得分:0)

I developed and have been using systemic in production for a year. It's a re-write of a electrician, developed for TES (heavy node.js users). Both are less magical than angular's DI mechanism. You might also like diogenes.

There's an example systemic application here.