TypeScript模块

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

你可能感兴趣的:(TypeScript模块)