Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有可能组织我的typescript代码并防止在开箱即用的情况下污染全局名称空间?_Typescript_Typescript2.0 - Fatal编程技术网

没有可能组织我的typescript代码并防止在开箱即用的情况下污染全局名称空间?

没有可能组织我的typescript代码并防止在开箱即用的情况下污染全局名称空间?,typescript,typescript2.0,Typescript,Typescript2.0,现在模块变成了名称空间,名称空间也被弃用了,正如您所看到的,我还有什么办法来组织我的typescript代码吗 主要的问题是,我有什么可能防止污染全局名称空间?因为在我看来,我一个也没有了,与vanilla JS相比,这将是一个巨大的交易破坏者。模块是迄今为止管理应用程序的最佳方式,它们提供了许多不同的加载选项 名称空间是第二好的,因为它们向全局作用域中添加了一个项——如果嵌套它们,则可以将所有名称空间保持在一个根中,这意味着无论应用程序有多大,全局作用域中只有一个项 名称空间还没有被弃用,TS

现在模块变成了名称空间,名称空间也被弃用了,正如您所看到的,我还有什么办法来组织我的typescript代码吗


主要的问题是,我有什么可能防止污染全局名称空间?因为在我看来,我一个也没有了,与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文件都是一个模块,但它必须导出一些可用作模块的内容。对于模块,任何东西都不会影响全局范围。