ES2015モジュール構文は、カスタムTypeScriptモジュールおよび名前空間@ typescript-eslint / no-namespaceよりも優先されます


9

npm startの実行中に次のエラーが表示されます。

ES2015モジュールの構文は、カスタムTypeScriptモジュールおよび名前空間@ typescript-eslint / no-namespaceよりも優先されます

    namespace InternalThings {...}

私はこれを研究しようとしましたが、それは非常に混乱しています。

なぜこれが起こっているのですか?それを修正するには?

tsconfig.jsonにいくつかのフラグを付けようとしましたが、これまでのところ成功していません。

回答:


11

これは、このlintルールが原因で発生するlintエラーです:https : //github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-namespace.md

あなたはルールが有用見つけ、それを維持したい場合は、使用するようにコードを変更する必要がありますimportし、export代わりに名前空間の。修正としてカウントされるものについては、ルールのドキュメントを参照してください。

ルールが気に入ったが、この行のルールを無効にしたい場合は、そのすぐ上に以下を追加します。

// eslint-disable-next-line @typescript-eslint/no-namespace

ルールが気に入らず、完全に無効にする場合は、.eslintrcファイルを編集して次の行を追加します。

rules: {
  "@typescript-eslint/no-namespace": "off"
}

2

エラーはeslintが原因です。構成の「@ typescript-eslint / no-namespace」ルールを無視するか、ES6を使用してコードを書き直す必要があります。

カスタムTypeScriptモジュール(モジュールfoo {})と名前空間(namespace foo {})は、TypeScriptコードを整理するための古い方法と見なされています。ES2015モジュールの構文が優先されるようになりました(インポート/エクスポート)

https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-namespace.mdを参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.