我正在測試具有多個模塊的typescript編譯器,這些模塊將被編譯爲AMD模塊。TypeScript:導入的模塊類不可見
我有一個模塊「測試」和一個單獨的文件,將使用它
test.ts:
export module test {
'use strict';
export class Person {
age:number = 0;
sin:number = 1;
}
var pp = new Person();
}
test.ts聲明模塊「測試」和出口它。不出所料 文件編譯和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;
})
現在在同一個文件夾中有是,將使用模塊的「測試」 test2.ts
TEST2 .TS:
///<reference path="test.ts"/>
import TT = module("test");
var p = TT.Person;
編譯器會抱怨這裏:
的src/TS/test2.ts(5,11):屬性 '人' 不上鍵入 '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 $文件路徑$
什麼是編譯這裏的問題?
謝謝。
「文件本身是模塊,所以TT在你的代碼表示test.ts.」 這是關鍵。它現在有效。謝謝。我會按照你的建議去除「in file module」,直到我看到它的實際需求。 – user2079003 2013-02-17 20:37:10
您是否將「導入」語句放入「類」語句或外部? (我想將模塊導入另一個類) – Kokodoko 2016-09-29 17:01:34