一个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 {
...
}