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

Typescript tslint:不允许使用命名空间和模块,typescript,module,namespaces,tslint,Typescript,Module,Namespaces,Tslint,我最近得到了一个遗留的.ts文件,希望对其进行更新 其中两条警告说: 不允许使用“名称空间”和“模块” 及 内部“module”语法已被弃用,请改用“namespace”关键字。 我读过关于使用标准化ES6风格的外部模块的文章,但我不知道如何做到这一点 我的代码如下所示: export namespace MySpace { export module MyModule { export interface MyInterface { } export

我最近得到了一个遗留的.ts文件,希望对其进行更新

其中两条警告说:

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

内部“module”语法已被弃用,请改用“namespace”关键字。

我读过关于使用标准化ES6风格的外部模块的文章,但我不知道如何做到这一点

我的代码如下所示:

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

    export class MyClass
    {
    }
    ...
  }
}
谁能给我一个提示,如何将这个结构更新为实际的样式规则

提前非常感谢大家

致意

捷运

内部“module”语法已弃用,请改用“namespace”关键字

来自linter的此警告与导出模块MyModule有关,因为
MyModule
不是一个模块,而是一个名称空间。应该使用的关键字是
名称空间
导出名称空间MyModule

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

来自linter的此警告是关于导出命名空间MySpace的。顶级
导出
意味着该文件是一个模块,并且

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

根本不要使用
命名空间
。以下是模块中的代码:

export interface MyInterface
{
}

export class MyClass
{
}

// …

另请参见:。

谢谢,我已经找到了这个网站,但我不知道如何解释它。我对js/ts还很陌生,很抱歉,在接口中添加“静态”成员时需要名称空间。有没有其他语法可以使用,或者我只需要禁用这个tslint规则?@AndrewArnott我不确定什么是“静态”成员。也许这和一门课有关?也许简单一点就够了?哦,很有趣。是的,我似乎可以在同一个模块中导出接口A和导出类A,定义静态方法(可能还有其他方法?),这样这些方法就会出现在
A.SomeMethod
上,而
A
仍然被TypeScript编译器视为接口类型。还有更多的测试要做,但这是有希望的。