Typescript En Fil Per Klass
Jag har precis börjat med Typescript, använder Visual Studio 2015, och kan inte hitta ett sätt att använda klasser i separata filer.
I en enda fil är det inget problem:
module someModule {
export class TitleScreenState extends Phaser.State {
game: Phaser.Game;
constructor() {
super();
}
//some code here
}
class GameRunningState extends Phaser.State {
constructor() {
super();
//some code here
}
class SimpleGame {
game: Phaser.Game;
//some code here
}
}
}
window.onload = () => {
var game = new MyGame.Game();
};Men när klasserna flyttas till sina egna filer visas inga fel, men vid körning får jag:
0x800a1391 - JavaScript-körtidsfel: 'MyGame' är odefinierad
// app.ts
/// <reference path='Game.ts'/>
/// <reference path='StateTitleScreen.ts'/>
/// <reference path='StateGameRunning.ts'/>
window.onload = () => {
var game = new MyGame.Game();
};
//----------------------------------------
// Game.s
module MyGame {
export class Game {
// some code here
}
//-----------------------------------------
// StateTitleScreen.ts
module MyGame {
export class StateTitleScreen {
// some code here
}
//-----------------------------------------
// StateGameRunning.ts
module MyGame {
export class StateGameRunning {
// some code here
}Svar #1
När du delar upp din kod i många filer behöver du se till att de alla laddas vid körning.
Till exempel:
<script src="Game.js"></script>
<script src="StateTitleScreen.js"></script>
<script src="StateGameRunning.js"></script>
<script src="app.js"></script>
Observera att din app.js är sist (eftersom den beror på de andra och ordningen är viktig).
Du kan också be TypeScript att förse dig med en enda fil med:
--out combined.js
Du kan sedan referera till den kombinerade filen på din sida, istället för många enskilda filer - men du kan fortfarande hantera din applikation genom att dela upp den i många filer vid designtid.
