Mam problem z wystających elementów, gdzie otrzymuję:nie można odczytać właściwość „prototyp” undefined przy przedłużaniu klas
Uncaught TypeError: Cannot read property 'prototype' of undefined
Z tego co czytałem elementy muszą być zdefiniowane w określonej kolejności, więc oto, co robię, ponieważ wygląda na to, że są we właściwej kolejności.
Nie dzieje się to podczas kompilacji, ale w czasie wykonywania w przeglądarce. Kompiluję pliki w jeden plik z browserify i tsify.
Oto mój punkt wejścia main.ts:
import GameSmartWeb from './GameSmartWeb';
window.gs = new GameSmartWeb();
Następnie wywołuje ten plik GameSmartWeb.ts który odwołuje się do klasy GUI:
import GUI from './apis/GUI';
export default class GameSmartWeb {
public get gui(): GUI { return new GUI(); }
}
Następnie klasa GUI apis/GUI.ts wygląda trochę tak:
export default class GUI extends GameSmartWeb {
public get rewards(): Rewards { return new Rewards(); }
}
class Rewards extends GUI {
// More methods
}
Patrząc w przeglądarce mówi błąd jest tutaj:
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); // The error is on this line
};
var GUI = (function (_super) {
__extends(GUI, _super); // This is the call to the function
// more auto generated code
});
Plik 'ts' z klasą' GUI' nie może odwoływać się do klasy 'GameSmartWeb'. udostępnić go poprzez "import". – mukund