Итак, я получаю вышеуказанную ошибку в консоли. Это вызвано тем, что _super
является undefined, когда он передал __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...
не требуется (и нет), но я добавил его, чтобы увидеть, помогло ли оно (это не так).
Файлы включены в правильный порядок (Test.ts
then Test2.ts
) через BundleConfig
(работа с оптимизацией или без нее не имеет никакого эффекта).
Я, вероятно, гигантский нооб, но я не знаю, что я испортил. Все другие случаи этой проблемы, которые я нашел в Интернете, - это люди, использующие компилятор командной строки для объединения нескольких файлов Typescript в один файл. Я использую bundler для этого, но даже когда я их не совмещаю, я получаю ту же самую проблему.
Пожалуйста, помогите мне, я нахожусь на своем пути!
В соответствии с запросом здесь скомпилированный 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