【发布时间】:2017-11-15 02:31:33
【问题描述】:
所以我在控制台中收到上述错误。这是因为_super 在传递给__extends 时未定义(在生成的.js 中)。
这里有一些可以用来重现错误的测试代码:
//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: 测试.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
【问题讨论】:
-
我在午餐时重新启动了我的电脑,现在它可以工作了。多么奇怪。
标签: javascript visual-studio asp.net-mvc-4 typescript