프로젝트를 TypeScript로 포팅하는 중입니다. 이 프로젝트는 Handlebars와 Browserify를 hbsfy과 결합하여 템플릿을 처리합니다.Handlebars 템플릿 및 TypeScript로 Browserify
다음과 같이 조금 보이는 전망 폴더에서 "photos.hbs"라는 템플릿 파일에 필요var photosTemplate = require('./views/photos.hbs');
: 이것은 내가이 같은 자바 스크립트 코드 의미
{{#each this}}
<span class="title">{{title}}</span>
{{/each}}
gulpfile 거기를 그 템플릿을 사용할 수있는 기능으로 변환하는 빌드 단계의 일부로 실행됩니다. 문제는, 어떻게이 타이프를 위해 일을 할 수있다
var newHtml = photosTemplate([{title: "test title 1"}, {title: "test title 2"}]);
: 이것은 내 소비하는 파일에 내가 함수 템플릿을 사용하는이 같은 코드를 작성할 수 있다는 것을 의미? 나는 import
내 var
을 전환하고 --module commonjs
컴파일러 플래그를 사용하여 이동했습니다만큼 당신이 생각하는 것
error TS2307: Cannot find external module './views/photos.hbs'.
박람회 :이 시점에서
import photosTemplate = require('./views/photos.hbs');
내가 오류가 발생. 그래서 나는이 모양과 함께 앉아하는 photos.hbs.d.ts
을 만들어 :
interface photos {
(context: any, options?: any): string;
}
export = photos;
이 사진 템플릿 사용 방법을 설명하는 간단한 인터페이스입니다. 그러나, 장소에두고 컴파일러는 오류를 얻을 :
는error TS2304: Cannot find name 'photosTemplate'.
여기에 비슷한 질문이있다 : https://stackoverflow.com/a/23957928/761388 나는 문제가 내 photos.hbs.d.ts
파일입니다하지만 난 그게 뭐가 잘못 됐는지 확실하지 않다 생각합니다. 나는 외부 모듈로 할 수있는 정의에서 아주 간단한 것을 놓치고있는 것처럼 느껴진다. 하지만 내 인생 내가 ... 그게 뭔지 이것은 나를 위해 일한
을 그리고 스티브는 내가 기분이 너무 오래 무언가를 찾고 있었어요 때 알아 :-) 당신을 좋아하는 이유입니다 당신은 문제를 해결하고 단지 수 없습니다 떠나서 나중에 다시 와야합니까? 그. 전적으로. 고마워! –