Перекрестные ссылки с расширенными классами в TypeScript

нашел странную ошибку

Если у вас есть два класса в разных файлах, и, например, класс B расширяет класс Аи класс А имеет переменную типа BTypeScript компилируется в неправильном порядке с помощью команды --out main.js (когда вы компилируете весь проект в один файл). Результаты заказа Wrond, которые javascript выдает ошибку:Uncaught TypeError: Невозможно прочитать свойство 'прототип' неопределенного Это потому, что класс B раньше в коде, чем Aи он хочет этим пользоваться.

Вот самый простой пример:

A.ts

///

class A
{
    public b: B;

    constructor()
    {
    }

    init()
    {
        this.b=new B();
    }
}

B.ts

///
class B extends A
{
    constructor()
    {
        super();
    }
}

app.ts

///
var a: A=new A();
a.init();

Сгенерированный main.js

var __extends = this.__extends || function (d, b) {
    function __() { this.constructor = d; }
    __.prototype = b.prototype;
    d.prototype = new __();
};
var B = (function (_super) {
    __extends(B, _super);
    function B() {
        _super.call(this);
    }
    return B;
})(A);
var A = (function () {
    function A() {
    }
    A.prototype.init = function () {
        this.b = new B();
    };
    return A;
})();
var a = new A();
a.init();
//@ sourceMappingURL=main.js.map

Есть ли обходной путь? Я

Ответы на вопрос(2)

Ваш ответ на вопрос