在TypeScript中混合使用两种类型的模块有什么问题吗?我的意思是跟随:
/// <reference path="./FirstModule.ts" />
import SecondModule = require("./SecondModule");
class MainClass extends SecondModule
{
private fm : FirstModule;
constructor() {
this.fm = new FirstModule();
}
}
export = MainClass;
我的TypeScript代码遇到了复杂的问题,我不确定这是否是根。我的问题是,虽然编译器没有发出错误,但在运行时无法识别FirstModule
。我正在使用 PhpStorm ,我可以看到它尝试编译我的代码而没有任何--out
选项。这是命令:
/usr/local/bin/tsc --sourcemap MainClass.ts --module amd
这里需要--out
选项吗?
答案 0 :(得分:3)
理想情况下,您不希望混合使用内部和外部模块。
最简单的解决方案是始终使用外部模块(因此从module FirstModule
文件中删除FirstModule.ts
并将其导入,就像第二个模块一样。)
import FirstModule = require("./FirstModule.ts");
import SecondModule = require("./SecondModule");
class MainClass extends SecondModule
{
private fm : FirstModule;
constructor() {
this.fm = new FirstModule();
}
}
export = MainClass;