现在模块变成了名称空间,名称空间也被弃用了,正如您在这里所读到的那样,我还有机会组织我的typescript代码吗?
主要的问题是,我有什么可能防止污染全局命名空间?因为在我看来,我已经一无所有了,与香草JS相比,这将是一个巨大的交易破坏者。
模块是迄今为止管理应用程序的最佳方式。模块将零项添加到全局范围,并且它们提供了许多不同的加载选项。
命名空间是第二好的,因为它们将单个项添加到全局范围中,如果嵌套它们,则可以将所有命名空间保留在单个根中,这意味着无论应用程序有多大,全局范围中都只有一个项。
命名空间并没有被弃用,TSLint规则是将人们推向模块的一种推动,但与所有TSLint的规则一样,由负责,而不是工具。如果您决定您的体系结构将使用名称空间,您可以使用以下配置关闭规则:
"no-namespace": false
模块、命名空间和承载。。。天啊
TypeScript 0.8问世时,有"内部模块"one_answers"外部模块"。这些后来被重命名了,所以它们变成了这样:
- 内部模块变成了"命名空间">
- 外部模块变为"模块">
对于内部模块,这只是意味着更改:
module OrderProcessing {
收件人:
namespace OrderProcessing {
对于外部模块,这只是指将它们称为"模块",因为您不使用任何东西包装外部模块。外部模块(或现在所知的"模块")只是一个导出某些内容的文件。。。
模块.ts
export function go() {
return 'go go go';
}
您可以使用另一个文件中的模块。。。
import { go } from './module.js';
alert(go());
module.ts
的任何内容都没有进入全局范围。
namespace
和模块都不推荐使用,您可以使用其中任何一个(但不要混用)。TSLint更希望您使用模块。