一個ts文件相當于一個作用域,它里面的函數、變量、類和接口對其他文件不可見。除非使用export導出它們,而要調用它們則需要顯式地import。
1 導出方式
直接導出(在聲明的時候)
export class Animal {
abstrack eat():void; // 必須在派生類中實現
move(meters: number = 0) {
console.info(this.name + " moved " + meters + "m.");
}
}
export const LOCATHION = "Shanghai";
導出語句
export class Animal {
abstrack eat():void; // 必須在派生類中實現
move(meters: number = 0) {
console.info(this.name + " moved " + meters + "m.");
}
}
export { Animal };
導出整個模塊
export * from './Animal';
export {Animal as Ani} from './Animal';
2.導入
導入和導出類似。
3.模塊的設計原則
盡可能在頂層導出
一個文件 Animal.ts盡可能只定義一個類,然后在它的頂層將它導出,封裝性更好 。
明確地列出導入的名字
// AllAnimalModule.ts
export class Dog { /* ... */ }
export class Cat { /* ... */ }
// Bus.ts
import * as allAnimalModule from "./AllAnimalModule.ts";
let x = allAnimalModule.Dog();
使用模塊包裝進行擴展
export class NgBootstrapModule {
...
}