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本质上是向JavaScript语言添加了可选的静态类型和基于类的面向对象编程,同时也支持...
    oWSQo阅读 8,553评论 1 45
  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 3,668评论 2 27
  • { "Unterminated string literal.": "未终止的字符串文本。", "Identifi...
    一粒沙随风飘摇阅读 10,696评论 0 3
  • 上期对志愿者的义务做了一个清晰的清单,这期我对值月生的总结和心得也做了一个清单,大致如下: 1.对志愿者进行汇总拉...
    文芒笃定阅读 185评论 0 0
  • 赫尔德林被海德格尔称为“诗人中的诗人”,他一直认为:诗是最清白无邪的事业,也是最危险的财富。柏拉图不希望那...
    薛崔愿阅读 955评论 0 3