我们有一个项目,它是一个独立的javascript控件集合。我们在这个项目中使用了typecript并且已经启用了"将JavaScript输出合并到文件"中。你可以想象这最终会编译成一个相当大的JS文件。
然后我们有一个单独的项目,我们的应用程序驻留在该项目中 - 它通过JS文件引用上述项目中的一些控件。
我的问题是:以这种方式仅包含我们项目中需要的控件的最佳方式是什么,以便包含JS文件的大小。我们只想将JS包含在我们需要的控件中。 我被迫"没有结合"并包括个人JS - 或者是否有更好的方式来独立组合"具体"打字稿文件到一个文件中。
答案 0 :(得分:2)
如果您有大量可选组件,请考虑切换到AMD模块。这允许您按需加载模块,并且是为解决您描述的问题而发明的。
如果您当前有内部模块,可以通过添加导出语句将它们转换为外部模块。例如,这个内部模块:
module MyInternalModule {
export class Example {
}
}
可以通过添加一行代码转换为外部模块:
module MyInternalModule {
export class Example {
}
}
export = MyInternalModule;
然后,您可以在需要时使用import语句加载它:
import GiveItAnAlias = require('./MyInternalModule');
(你不要把.ts
放在那条路上。
您需要向编译器提供模块标志(如果您使用的是Visual Studio,则需要更改项目设置):
tsc --module amd app.ts
您现在可以构建模块集合并根据需要异步加载它们。