打字稿Visual Studios 2015自动编译bug

时间:2016-02-29 17:49:01

标签: visual-studio typescript visual-studio-2015

我使用的是Visual Studio Pro 2015,并在保存时启用了自动编译功能。

在已编译的js文件中,我在typescript __extends函数中遇到错误,其中'无法读取未定义的属性原型'对于b.prototype。

但是,每当我重建项目时,错误就会消失,一切正常。

1 个答案:

答案 0 :(得分:0)

这听起来像是将类插入编译的.js文件的顺序问题。 I had a similar problem with Visual Studio's single-file compilation functionality.在查看已编译的文件时,是否存在从基类继承的类,该类在文件的后面才定义?

我不确定为什么行为只会在编译被保存触发时出现 - 这对我来说似乎很奇怪。有时,当编译器必须猜测输出结果的顺序时,编译器似乎是非确定性的。这可能与渐进式编译有关吗?

要解决此问题,您可以告诉编译器应该使用<reference>标记定义一个特定的类。

因此,例如,一个带有引用标记的子类如下:

/// <reference path="./MyBaseClass" />
class MyClass extends MyBaseClass {
}

在编译好的.js文件中的后面会出现

class MyBaseClass {
}