나는이 화면 반전이있는 경우 모듈 :타이프 라이터 AMD 구현
export function say(){
console.log("said");
}
나는 내가 TS 클라이언트에서 아주 쉽게 사용할 수있는 AMD 옵션을 사용하여 컴파일 :
import foo = module("tsmodule")
foo.say();
export var x = 123;
나는 TS 모듈에 자바 스크립트 상당이 그러나 경우 :
define(["require", "exports"], function(require, exports) {
function say() {
console.log("said");
}
exports.say = say;
})
쉽게 사용 할 수있는 방법은 없습니다. 가능한 가장 간단한 해결책은 http://requirejs.org/docs/errors.html#notloaded입니다.
// of course you can use .d.ts for requirejs but that is beside the point
declare var require:any;
// will fail with error module has not been loaded yet for context
// http://requirejs.org/docs/errors.html#notloaded
var useme = require("jsmodule")
useme.say();
export var x = 123;
import foo = module("tsmodule")
foo.say();
오류로 인해 실패했습니다. "jsmodule"은 생성 된 타이프 스크립트에서 정의 호출에 전달되지 않았기 때문에.
두 가지 해결 방법 내가 가진
- 가져 오기/내보내기를 (언어 기능이 손실)
- 사용 ([]) (여전히 필요에 따라 뭔가를 내보낼 수 없습니다 필요 ([사용하지 않는 ]) 통화
제한 사항 : https://github.com/basarat/typescript-requirejs. 다른 방법이 있습니까? 그렇지 않으면 당신은 여기에 투표 할 수 있습니다 https://typescript.codeplex.com/workitem/948 :
분명히 문서화되지 않은 기능을 진술 할있는 선언 파일을 제공하고, 내 TSC 버전 0.9.0 알파 작동하지 않습니다. 버전 0.8로 제거/설치하겠습니다. – basarat
Aww 촬영, 그들은 이것을 0.9에서 제거 했습니까?! 나는 0.8.1.1을 사용하고있다. – thomaux
0.8.3에서 작동합니다. 그러나 0.9.0alpha에 포함되지 않음 – basarat