TypeScript编译器变慢了?

pop*_*ome 9 typescript

我正在使用TypeScript开发Win8应用程序.

编译我打字稿的代码,我添加winrt.d.tswinjs.d.ts再使用引用它们:

<reference path="winrt.d.ts" static="true" />
<reference path="winjs.d.ts" static="true" />
Run Code Online (Sandbox Code Playgroud)

编译和构建成功但IDE的智能感觉非常慢.我只是打开winrt.d.ts并检查了文件.该文件有18,770行,这是一个非常庞大的文件,可以动态编译.

是否有任何选项或方法可以引用那些巨大的定义文件而无需再次编译lib.d.ts

这种缓慢严重伤害了我的TypeScript选择.

更新:

在当前的编译器版本(0.8.0)上,没有解决方案.希望在不久的将来发布中获得最佳性能提升.

更新:

这是我简单的黑客攻击开发.性能.我只是创造了winrt.compact.d.ts.然后只复制实际使用的部分命名空间并保存文件.

幸运的是,file(winrt.d.ts)看起来像是从几个声明文件生成的.因此,每个命名空间都明确地与其他命 为WinRT制作紧凑版本要容易得多.

Val*_*tin 2

如果我错了,请纠正我,但我不认为lib.d.ts编译器会以任何特殊方式对待这一点。我查看了源代码,这是处理以下内容的片段lib.d.ts

if(this.compilationSettings.useDefaultLib) {
    var compilerFilePath = this.ioHost.getExecutingFilePath();
    var binDirPath = this.ioHost.dirName(compilerFilePath);
    var libStrPath = this.ioHost.resolvePath(binDirPath + "\\lib.d.ts");
    code = new TypeScript.SourceUnit(libStrPath, null);
    this.compilationEnvironment.code.push(code);
}     
Run Code Online (Sandbox Code Playgroud)

如果用户请求lib.d.ts包含,则只需将其作为第一段要编译的代码添加到编译环境中即可。所有其他源文件(存储在中)opts.unnamed以完全相同的方式添加:

for(var i = 0; i < opts.unnamed.length; i++) {
    code = new TypeScript.SourceUnit(opts.unnamed[i], null);
    this.compilationEnvironment.code.push(code);
}  
Run Code Online (Sandbox Code Playgroud)

因此,如果lib.d.ts没有以特殊方式处理,那么这对于其他(声明)文件也是不可能的。另外,在我的系统上lib.d.ts有 7,677 行,这比 报告的 18,770 行少得多winrt.d.ts,因此所有行的总和可能对于编译器来说太多,无法达到可接受的速度。

除此之外,我唯一的想法是“其他原因”导致你的机器速度变慢。如果您向我提供库的链接和代码片段,我至少可以测量编译运行在我的系统上花费的时间。