tslint:不允许使用名称空间和模块

时间:2019-05-09 12:22:42

标签: typescript module namespaces tslint

我最近有一个旧的.ts文件,想要更新它。

两个警告说:

'namespace' and 'module' are disallowed

The internal 'module' syntax is deprecated, use the 'namespace' keyword instead.

我阅读了有关使用标准化ES6样式的外部模块的信息,但是我不知道如何执行此操作。

我的代码如下:

export namespace MySpace
{
  export module MyModule
  {
    export interface MyInterface
    {
    }

    export class MyClass
    {
    }
    ...
  }
}

谁能给我一个提示,如何将这种结构更新为实际的样式规则?

非常感谢大家!

最好的问候

地铁

1 个答案:

答案 0 :(得分:2)

  

内部的“模块”语法已过时,请改用“名称空间”关键字。

来自linter的警告是关于export module MyModule的,因为MyModule不是模块,而是名称空间。应当使用的关键字为namespaceexport namespace MyModule

  

不允许使用“命名空间”和“模块”

来自短毛绒的警告大约为export namespace MySpace。顶层export表示文件是模块,it is a bad practice to use namespaces and modules together表示。

  

谁能给我一个提示,如何将这种结构更新为实际的样式规则?

完全不要使用namespace。这是您在模块中的代码:

export interface MyInterface
{
}

export class MyClass
{
}

// …

另请参阅:an introduction to modules from Mozilla