我正在测试具有多个模块的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