我是Node的新手,来自C#背景我想用Node来解决的一个主要问题是依赖注入。我知道wire.js具有这种能力,我已经阅读了我能在其上找到的所有内容,我甚至已经下载了Html“Hello World”示例。但是,我仍然无法让它正常工作。
以下是尝试让它发挥作用的所作所为:
app.get('/testwired', function (req, res) {
require('wire!hello-wired-spec', function (spec) {
console.log(spec);
res.send(spec.sayHello("this is a test"));
});
});
我得到的错误是它无法找到模块线!hello-wired-spec。我认为这意味着我没有配置wire.js知道从哪里获取我的规范,但我无法弄清楚如何。我也不知道我是否应该使用回调。
非常感谢任何帮助。
答案 0 :(得分:8)
语法“wire!hello-wired-spec”特定于AMD加载器(它使用wire作为AMD插件),而Node不需要理解AMD。因此,在节点中,您将以编程方式使用wire,require()就像任何其他lib一样。除此之外,它将以基本相同的方式工作:您将为它提供一个电线规格模块,它将返回一个承诺,一旦它现在连接它将解决。
这是为节点编写的simplest-possible "hello wire"。 main.js需要()s导线,然后将布线规格(在spec.js中)提供给它。 wire()返回一个使用完全有线上下文解析的promise。现在的电线规格并没有太大的兴趣,但那就是你进来的地方:)
希望这足以让您在节点中使用wire,但如果您有其他问题,请随时在cujojs google group进行跟进!