所以我在控制台中得到了上述错误。这是由于当它被传递给__extends
(在生成的.js
中)时,_super
未定义引起的。
以下是一些测试代码,可用于重现此错误:
//This is the entirety of the file Test.ts
module Test {
export class Test1 {
public Name: string;
public Number: number;
constructor() {
}
}
}
然后在另一个文件中,我有一个继承自那个类的类:
/// <reference path="Test.ts" />
module Test {
export class Test2 extends Test1 {
constructor() {
super();
}
}
}
<reference path...
不应该需要(也确实不需要),但我添加它是为了看看它是否有帮助(但没有)。
文件通过 BundleConfig
以正确的顺序(Test.ts
然后是 Test2.ts
)被包含(运行时无论是否进行优化都没有任何影响)。
我可能是一个巨大的新手,但我一点也不知道我搞砸了什么。我在网上找到的所有这个问题的其他实例都是来自使用命令行编译器将多个 TypeScript 文件合并成一个单一文件的人。我正在使用打包程序来完成这个任务,但即使我不将它们组合,我也会遇到完全相同的问题。
请帮帮我,我已经快崩溃了!
如请求所示,这里是编译后的 JavaScript:
Test.js:
//This is the entirety of the file Test.ts
var Test;
(function (Test) {
var Test1 = (function () {
function Test1() {
}
return Test1;
})();
Test.Test1 = Test1;
})(Test || (Test = {}));
//# sourceMappingURL=Test.js.map
Test2.js:
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
/// <reference path="Test.ts" />
var Test;
(function (Test) {
var Test2 = (function (_super) {
__extends(Test2, _super);
function Test2() {
_super.call(this);
}
return Test2;
})(Test.Test1);
Test.Test2 = Test2;
})(Test || (Test = {}));
//# sourceMappingURL=Test2.js.map