没有可能组织我的typescript代码并防止在开箱即用的情况下污染全局名称空间?
现在模块变成了名称空间,名称空间也被弃用了,正如您所看到的,我还有什么办法来组织我的typescript代码吗没有可能组织我的typescript代码并防止在开箱即用的情况下污染全局名称空间?,typescript,typescript2.0,Typescript,Typescript2.0,现在模块变成了名称空间,名称空间也被弃用了,正如您所看到的,我还有什么办法来组织我的typescript代码吗 主要的问题是,我有什么可能防止污染全局名称空间?因为在我看来,我一个也没有了,与vanilla JS相比,这将是一个巨大的交易破坏者。模块是迄今为止管理应用程序的最佳方式,它们提供了许多不同的加载选项 名称空间是第二好的,因为它们向全局作用域中添加了一个项——如果嵌套它们,则可以将所有名称空间保持在一个根中,这意味着无论应用程序有多大,全局作用域中只有一个项 名称空间还没有被弃用,TS
主要的问题是,我有什么可能防止污染全局名称空间?因为在我看来,我一个也没有了,与vanilla JS相比,这将是一个巨大的交易破坏者。模块是迄今为止管理应用程序的最佳方式,它们提供了许多不同的加载选项 名称空间是第二好的,因为它们向全局作用域中添加了一个项——如果嵌套它们,则可以将所有名称空间保持在一个根中,这意味着无论应用程序有多大,全局作用域中只有一个项 名称空间还没有被弃用,TSLint规则是推动人们走向模块的一个推动因素——但与所有TSLint规则一样——你负责,而不是工具。如果您决定您的体系结构将使用名称空间,则可以使用以下配置关闭规则:
"no-namespace": false
模块、名称空间和熊。。。天哪!
当TypeScript 0.8问世时,有“内部模块”和“外部模块”。这些后来被重命名,所以它们更改如下:
module OrderProcessing {
致:
对于外部模块,它只意味着将它们称为“模块”,因为您不使用任何东西包装外部模块。外部模块(或现在所知的“模块”)只是一个导出某些内容的文件
模块1.ts
export function go() {
return 'go go go';
}
您可以使用另一个文件中的模块
import { go } from './module.js';
alert(go());
module.ts
的任何内容都不能进入全局范围
名称空间
或模块都不推荐使用,您可以使用任何一种(但不要混合使用)。TSLint希望您使用模块。模块是目前管理应用程序的最佳方式,它们提供了许多不同的加载选项
名称空间是第二好的,因为它们向全局作用域中添加了一个项——如果嵌套它们,则可以将所有名称空间保持在一个根中,这意味着无论应用程序有多大,全局作用域中只有一个项
名称空间还没有被弃用,TSLint规则是推动人们走向模块的一个推动因素——但与所有TSLint规则一样——你负责,而不是工具。如果您决定您的体系结构将使用名称空间,则可以使用以下配置关闭规则:
"no-namespace": false
模块、名称空间和熊。。。天哪!
当TypeScript 0.8问世时,有“内部模块”和“外部模块”。这些后来被重命名,所以它们更改如下:
module OrderProcessing {
致:
对于外部模块,它只意味着将它们称为“模块”,因为您不使用任何东西包装外部模块。外部模块(或现在所知的“模块”)只是一个导出某些内容的文件
模块1.ts
export function go() {
return 'go go go';
}
您可以使用另一个文件中的模块
import { go } from './module.js';
alert(go());
module.ts
的任何内容都不能进入全局范围
名称空间
或模块都不推荐使用,您可以使用任何一种(但不要混合使用)。TSLint希望您使用模块。使用ES6模块和模块绑定器,如Webpack或Browserify。使用ES6模块和模块绑定器,如Webpack或Browserify。但我说得对吗,启用此规则后,我们无法防止污染全局命名空间?@FlorianLeitgeb-您仍然有模块,它将零项添加到全局作用域。据我所知,模块被重命名为命名空间,并被弃用。@FlorianLeigeb-上面添加的模块历史记录的完整详细信息。每个.ts文件都是一个模块,但它必须导出一些可用作模块的内容。模块根本不会影响全局范围。但我说的对吗,启用此规则后,我们没有任何可能防止污染全局命名空间?@FlorianLeigeb-您仍然有模块,这些模块会向全局范围添加零项。据我所知,模块已重命名为命名空间,已被弃用。@FlorianLeigeb-上面添加的模块历史记录的完整详细信息。每个.ts文件都是一个模块,但它必须导出一些可用作模块的内容。对于模块,任何东西都不会影响全局范围。