没有可能组织我的打字脚本代码并防止污染全局命名空间开箱即用



现在模块变成了名称空间,名称空间也被弃用了,正如您在这里所读到的那样,我还有机会组织我的typescript代码吗?

主要的问题是,我有什么可能防止污染全局命名空间?因为在我看来,我已经一无所有了,与香草JS相比,这将是一个巨大的交易破坏者。

模块是迄今为止管理应用程序的最佳方式。模块将零项添加到全局范围,并且它们提供了许多不同的加载选项。

命名空间是第二好的,因为它们将单个项添加到全局范围中,如果嵌套它们,则可以将所有命名空间保留在单个根中,这意味着无论应用程序有多大,全局范围中都只有一个项。

命名空间并没有被弃用,TSLint规则是将人们推向模块的一种推动,但与所有TSLint的规则一样,负责,而不是工具。如果您决定您的体系结构将使用名称空间,您可以使用以下配置关闭规则:

"no-namespace": false

模块、命名空间和承载。。。天啊

TypeScript 0.8问世时,有"内部模块"one_answers"外部模块"。这些后来被重命名了,所以它们变成了这样:

  1. 内部模块变成了"命名空间">
  2. 外部模块变为"模块">

对于内部模块,这只是意味着更改:

module OrderProcessing {

收件人:

namespace OrderProcessing {

对于外部模块,这只是指将它们称为"模块",因为您不使用任何东西包装外部模块。外部模块(或现在所知的"模块")只是一个导出某些内容的文件。。。

模块.ts

export function go() {
return 'go go go';
}

您可以使用另一个文件中的模块。。。

import { go } from './module.js';
alert(go());

module.ts的任何内容都没有进入全局范围。

namespace和模块都不推荐使用,您可以使用其中任何一个(但不要混用)。TSLint更希望您使用模块。

最新更新