如何包含/不包括打字稿文件

时间:2014-11-17 08:27:10

标签: javascript typescript

我们有一个项目,它是一个独立的javascript控件集合。我们在这个项目中使用了typecript并且已经启用了"将JavaScript输出合并到文件"中。你可以想象这最终会编译成一个相当大的JS文件。

然后我们有一个单独的项目,我们的应用程序驻留在该项目中 - 它通过JS文件引用上述项目中的一些控件。

我的问题是:以这种方式仅包含我们项目中需要的控件的最佳方式是什么,以便包含JS文件的大小。我们只想将JS包含在我们需要的控件中。 我被迫"没有结合"并包括个人JS - 或者是否有更好的方式来独立组合"具体"打字稿文件到一个文件中。

1 个答案:

答案 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

您现在可以构建模块集合并根据需要异步加载它们。