TypeScript命名空间讲解
目录
- 1.定义和使用
- 1.1定义
- 1.2使用
- 2.拆分为多个文件
- 3.别名
前言:
命名空间namespace
在TypeScript1.5版本之前是叫做内部模块 ,那是因为ES6中的模块还没有称为正式标准,在ES6提出该规范时,TypeScript1.5 正事更名为命名空间 ,用namespace
来定义。
1.定义和使用
1.1定义
命名空间的定义就相当于定义了一个对象,该对象中可以定义变量、接口、类、方法等等,但是如果不使用export关键字指定此内容为外部可见的话,外部是没有办法访问到的。
接下来定义一个正则验证的一个.ts文件,实现代码如下:
在上面的代码中,我们定义了一个名为Validation
的命名空间,并在里面定义了两个属性和一个方法,并将一个属性和一个方法导出(命名空间的中导出使用export关键字)。
1.2使用
在某个文件使用命名空间中的内容只需要在使用外部命名空间的地方使用/// <reference path=“namespace.ts”/>
来引入,注意三斜线///开头,然后在 path 属性指定相对于当前文件,这个命名空间文件的路径。具体代码如下:
值得注意的是第一行的/// <reference path='validation.ts' />
。语法结构是不能错的,否则编译是不通过的。
编译命令如下:
outFile参数是用于将输出文件合并为一个文件
编译后的index.js文件如下:
2.拆分为多个文件
随着我们的开发内容的不断增加,我们可以将同一个命名命名空间拆分为多个文件分开维护,尽管我们将其拆分为为多个文件,但是他们仍然属于一个命名空间,
示例代码如下:
LetterValidation.ts
NumberValidation.ts
index.ts
我们使用命令行来编译一下:
最终编译后的index.js代码如下:
由编译结果可以看出,我们先引入了LetterValidation.ts
文件,后引入NumberValidation.ts
文件,他们最终编译后的结果也是按照引入顺序编译的。
3.别名
别名是一种简化命名空间的操作方式,其语法是使用import关键字,使用方式如下:
值得注意的是该方式不要与家长模块的import x = require('name')
语法混淆,这里的语法是为指定的符号创建一个别名。可以使用该方法为任意标识符创建别名,也包括引入模块中的对象。
通过这个例子我们可以看到,使用import
关键字来定义命名空间中某个输出元素的别名,可以减少我们深层次获取属性的成本。
到此这篇关于TypeScript
命名空间讲解的文章就介绍到这了,更多相关TypeScript命名空间内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!