在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本。
介绍这篇文章描述了如何在TypeScript里使用命名空间(之前叫做“内部模块”)来组织你的代码。 就像我们在术语说明里提到的那样,“内部模块”现在叫做“命名空间”。 另外,任何使用 这就避免了让新的使用者被相似的名称所迷惑。 第一步我们先来写一段程序并将在整篇文章中都使用这个例子。 我们定义几个简单的字符串验证器,假设你会使用它们来验证表单里的用户输入或验证外部数据。 所有的验证器都放在一个文件里
命名空间随着更多验证器的加入,我们需要一种手段来组织代码,以便于在记录它们类型的同时还不用担心与其它对象产生命名冲突。 因此,我们把验证器包裹到一个命名空间内,而不是把它们放在全局命名空间下。 下面的例子里,把所有与验证器相关的类型都放到一个叫做 使用命名空间的验证器
分离到多文件当应用变得越来越大时,我们需要将代码分离到不同的文件中以便于维护。 多文件中的命名空间现在,我们把 Validation.ts
LettersOnlyValidator.ts
ZipCodeValidator.ts
Test.ts
当涉及到多文件时,我们必须确保所有编译后的代码都被加载了。 我们有两种方式。 第一种方式,把所有的输入文件编译为一个输出文件,需要使用
编译器会根据源码里的引用标签自动地对输出进行排序。你也可以单独地指定每个文件。
第二种方式,我们可以编译每一个文件(默认方式),那么每个源文件都会对应生成一个JavaScript文件。 然后,在页面上通过 MyTestPage.html (excerpt)
别名另一种简化命名空间操作的方法是使用
注意,我们并没有使用 使用其它的JavaScript库为了描述不是用TypeScript编写的类库的类型,我们需要声明类库导出的API。 由于大部分程序库只提供少数的顶级对象,命名空间是用来表示它们的一个好办法。 我们叫它声明因为它不是外部程序的具体实现。 我们通常在 外部命名空间流行的程序库D3在全局对象 D3.d.ts (部分摘录)
|
请发表评论