购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.7 TypeScript模块与命名空间

对于大型项目开发来讲,重要的是如何组织和管理代码,TypeScript使用模块和命名空间来组织代码。

4.7.1 模块

模块化是指将一个大的程序文件拆分成许多小的文件,然后将小文件组合起来。模块化的好处是防止命名冲突、代码可复用和高可维护性。

1.模块化的语法

模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输入,并以此向其他模块提供相应的功能。

2.模块化的暴露

方式一:分别暴露,如代码示例4-47所示。

代码示例4-47

方式二:统一暴露,如代码示例4-48所示。

代码示例4-48

方式三:默认暴露,如代码示例4-49所示。

代码示例4-49

3.模块的导入

模块导入的方式与ES6中模块导入的方式相同,如代码示例4-50所示。

代码示例4-50

4.解构赋值形式

在导入模块时,通过解构赋值的方式获取对象,如代码示例4-51所示。

代码示例4-51

注意: 针对默认暴露还可以直接采用语句import m3 from"./model/m3"导入。

4.7.2 命名空间

命名空间:在代码量较大的情况下,为了避免各种变量命名相冲突,可将相似功能的函数、类、接口等放置到命名空间内,同Java的包、.Net的命名空间一样,TypeScript的命名空间可以将代码包裹起来,只对外暴露需要在外部访问的对象,命名空间内的对象通过export关键字对外暴露。

命名空间和模块的区别:命名空间是内部模块,主要用于组织代码,避免命名冲突;模块ts是外部模块的简称,侧重代码的复用,一个模块里可能会有多个命名空间。

命名空间如代码示例4-52所示。

代码示例4-52 rWWf0JJzUWfcKmIkb8aLeODl2VQTupliiLchB/9wFqwNhhsARQWgQ4eJ6ZoOmXII

点击中间区域
呼出菜单
上一章
目录
下一章
×