2012-08-13 2 views
2

노드와 함께 콧수염을 사용하고 싶습니다. 그러나 어떤 이유로 부분적으로 작동하지 않습니다. 같은 디렉토리에 두 파일 app.jstest.mustache을 만들었습니다. package.json 파일과 npm을 사용하여이 프로젝트의 최신 버전의 콧수염을 설치했습니다. 파일은 다음과 같이 :NodeJS & 콧수염 : 부분 파동을 얻는 방법?

app.js를 :

var mus = require('mustache'); 
console.log(mus.render('test.mustache: {{>test}}')); 

test.mustache : 나는 node app.js을 실행하면

This is a test 

나는 다음과 같은 출력을 기대할 : test.mustache: This is a test을하지만, 단지 대신 I 얻으십시오 : test.mustache:.

다른 콧수염 태그는 예상대로 작동하며 콧수염 테스트에서도 오류를보고하지 않습니다.

제대로 작동하려면 어떻게해야합니까?

+0

는'>' – murgatroid99

+0

murgatroid99 @ 뒤에 공백을 넣어보십시오 Express.js 내부에 많은 템플릿 엔진을 사용 할 수 있습니다 - I 이미 시도했지만 작동하지 않습니다. – Tiddo

답변

6

노드 인스펙터를 사용하여 위의 응용 프로그램을 콧수염으로 디버깅했습니다. manual이 암시하는 것과 달리 (부분적으로 스크롤 다운) 부분 파일을 포함하지는 않습니다. 대신 렌더링 메서드의 세 번째 인수로 수동으로 부분을 제공해야합니다.

+0

보고있는 문서는 콧수염 사양입니다. 다른 구현은 그 환경에 맞는 의미에 따라 약간 다르게 작동합니다. 이 경우 [이 구현을위한 문서] (https://github.com/janl/mustache.js#partials)는 "mustache.js에서 부분 객체가 세 번째 인수로 Mustache.render에 전달 될 수 있습니다 개체는 부분 이름으로 키잉되어야하며 그 값은 부분 텍스트 여야합니다. " –

+2

@BrandonTilley - 필자도이 문서를 보았습니다. 그러나 그 문서의 위 부분은 Mustache 사양과 정확히 동일합니다. 따라서 스펙을 따랐다 고 생각했지만 부분 인수를 제공하면 새 파일 대신 사용합니다. 그래서이 문서는 약간 불분명합니다. – Tiddo

관련 문제