AMDモジュールとしてコンパイルされる複数のモジュールでtypescriptコンパイラをテストしています。
モジュール「test」とそれを使用する別のファイルがあります
test.ts:
export module test {
'use strict';
export class Person {
age:number = 0;
sin:number = 1;
}
var pp = new Person();
}
test.ts はモジュール「test」を宣言し、それをエクスポートします。ファイルがコンパイルされ、js の出力が期待どおりになります。
test.js:
define(["require", "exports"], function(require, exports) {
(function (test) {
'use strict';
var Person = (function () {
function Person() {
this.age = 0;
this.sin = 1;
}
return Person;
})();
test.Person = Person;
var pp = new Person();
})(exports.test || (exports.test = {}));
var test = exports.test;
})
同じフォルダーに、モジュール「test」を使用するtest2.tsがあります
test2.ts:
///<reference path="test.ts"/>
import TT = module("test");
var p = TT.Person;
コンパイラはここで不平を言います:
src/ts/test2.ts(5,11): プロパティ 'Person' はタイプ 'TT' の値に存在しません
ただし、出力 js ファイルは正しいようです: test2.js:
define(["require", "exports", "test"], function(require, exports, __TT__) {
///<reference path="test.ts"/>
var TT = __TT__;
var p = TT.Person;
})
コンパイラのバージョンは次のとおりです。
0.8.2.0
コマンドラインは次のとおりです。
tsc --comments --declaration --target ES5 --module AMD $FilePath$
ここでのコンパイラの問題は何ですか?
ありがとう。