2012-08-08 3 views
3

저는 Node를 처음 접했고 Node로 알아 내려고하는 주요한 것들 중 하나 인 C# background로부터 오는 것은 dependency injection입니다. 나는 wire.js가 그 기능을 가지고 있으며, 내가 발견 할 수있는 모든 것을 읽었으며 Html "Hello World"예제를 다운로드했다. 그러나 여전히 제대로 작동하지 않습니다. node.js의 wire.js 예제

  1. 나는 헬로 wired.js을 뽑아 내 노드 프로젝트에 파일 안녕하세요 --spec.js 유선 :

    는 여기에 내가이 일을 얻을 수을 시도 에 무슨 짓을했는지.

  2. 샘플 응용 프로그램의/js/wire에서 wire 노드를 노드 응용 프로그램의/node-modules/wire로 가져 왔습니다.
  3. Html 노드가 없으므로 생성자의 hello-world.js에서 코드 줄을 제거하고 매개 변수없이 생성자를 만들었습니다. 나는 InnerHtml을 가지지 않기 때문에 sayHello의 줄을 console.log()를 사용하도록 바꾸었다.
  4. 내가

으로 테스트 작업을 만들어 내가지고있어 오류가 모듈 와이어를 찾을 수 없습니다! 안녕하세요 - 유선 - 사양입니다

app.get('/testwired', function (req, res) { 
    require('wire!hello-wired-spec', function (spec) { 
     console.log(spec); 
     res.send(spec.sayHello("this is a test")); 
    }); 
}); 


. 필자는 wire.js를 어디서 구해야 하는지를 알지 못하도록 구성했다고 가정합니다. 콜백을 사용해야하는지 아닌지에 대해서도 알지 못합니다.

도움을 주시면 대단히 감사하겠습니다.

답변

8

"wire! hello-wired-spec"구문은 AMD 로더 (AMD 플러그 인으로 와이어를 사용함)에만 해당되며 AMD는 노드의 요구에 의해 이해되지 않습니다. 그래서, 노드에서, 당신은 프로그래밍 방식으로 와이어를 사용할 것이고, 다른 다른 lib처럼 그것을 요구할 것입니다. 그것 이외에, 그것은 기본적으로 같은 방식으로 작동합니다 : 당신은 와이어 스펙 모듈을 공급할 것이고, 일단 그것이 유선이되면 해결할 약속을 되돌릴 것입니다.

노드 용으로 작성된 simplest-possible "hello wire"입니다. main.js는 require() s wire를 요구 한 다음, 배선 스펙 (spec.js에 있음)을 피드에 제공합니다. wire()는 완전히 유선 된 컨텍스트로 해결되는 약속을 반환합니다. 현재 와이어 스펙에는별로 흥미롭지 않지만, 여러분이 들어오는 곳은 다음과 같습니다.

노드에 와이어를 연결하여 실행하기에 충분하지만 잘하면 cujojs google group에서 후속 조치를 취하십시오. 다른 질문이 있습니다!