tslint: пространство имен и модуль запрещены - PullRequest
0 голосов
/ 09 мая 2019

Я недавно получил устаревший .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
    {
    }
    ...
  }
}

Может кто-нибудь дать мне подсказку, как обновить эту структуру в соответствии с действующими правилами стиля?

Заранее всем большое спасибо!

С наилучшими пожеланиями

MRT

1 Ответ

2 голосов
/ 09 мая 2019

Внутренний синтаксис «модуль» устарел, вместо него используйте ключевое слово «namespace».

Это предупреждение от linter о export module MyModule, потому чтоMyModule это не модуль, а пространство имен.Ключевое слово, которое следует использовать: namespace: export namespace MyModule.

'namespace' и 'module' запрещены

Это предупреждениеиз линтера около export namespace MySpace.Верхний уровень export подразумевает, что файл является модулем, а плохая практика - использовать пространства имен и модули вместе .

Может кто-нибудь дать мне подсказку, какобновить эту структуру в соответствии с действующими правилами стиля?

Не использовать namespace вообще.Вот ваш код в модуле:

export interface MyInterface
{
}

export class MyClass
{
}

// …

См. Также: введение в модули из Mozilla .

...