TypeScript'te dosyadan sınıf yüklenemiyor
Benim şöyle görünen bir sınıfım var:
export module GameModule {
export class Game {
private boardContainer: HTMLElement;
private board: number[][];
constructor (container: HTMLDivElement) {
this.boardContainer = container;
this.board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
this.drawGrid();
}
drawGrid() {
}
}
}
ve ana uygulama:
import GameModule = module("./GameModule");
window.onload = () => {
new GameModule.GameModule.Game(<HTMLDivElement> document.getElementById('content'));
};
Ama kodu derlemeye çalıştığımda, hatalar alıyorum:
>tsc --module amd app.tss
app.tss(1, 27): The name '"./GameModule"' does not exist in the current scope
app.tss(1, 27): A module cannot be aliased to a non-module type
app.tss(4, 8): Expected car, class, interface, or module
Kodumda ne yanlış?
Cevap #1
Kodunuz benim için sorunsuz bir şekilde derleniyor. İşte benim sahip olduklarım:
GameModule.ts
export module GameModule {
export class Game {
private boardContainer: HTMLElement;
private board: number[][];
constructor (container: HTMLDivElement) {
this.boardContainer = container;
this.board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
this.drawGrid();
}
drawGrid() {
}
}
}
Main.ts
import GameModule = module("./GameModule");
window.onload = () => {
new GameModule.GameModule.Game(<HTMLDivElement> document.getElementById('content'));
};
her ikisi de aynı dizinde. Bunu derlediğimde
tsc --module amd Main.ts
Derleyici herhangi bir sorun bildirmiyor. Lütfen tam olarak bu iki sınıfı derleyip derleyemeyeceğinizi kontrol eder misiniz? Ayrıca, mümkünse lütfen tam kodunuzu paylaşın. Hata mesajından, modülünüzün başka bir dizinde bulunduğunu varsayardım.
