9

"use strict"ESLint は、index.js ファイルの先頭に必要がないことを教えてくれます (これは、 https://nodejs.org/en/about/にある 6 行のサーバーのような単純なサーバーです)。どうやら、すべてのノードモジュールはすでに厳密モードになっています。理にかなっています。

ただし、実行node index.jsすると、「SyntaxError: [let] not supported outside strict mode」というメッセージが表示されます。「冗長」プラグマで実行されます。"use strict"

矛盾の理由は?ノードは、このノードモジュールがデフォルトで実際に厳密であることを認識すべきではありませんか? これは、ノード、ESLint、または IDE の単純な構成ミスが原因でしょうか?

4

1 に答える 1

10

ESLint は、何を有効または無効な警告またはエラーと見なすかについて独自の決定を下します。eslint/jslint/jshint が言うことはすべて、他のすべての上に助言として扱う必要があります。どこかの誰かによると、彼らの提案は最適で完全に有効です。

そうは言っても、この特定の警告を抑制するためのオプションがいくつかあります。

  • eslintコード内のコメントでフラグを使用する
  • eslintこのフラグを指定する構成で実行
  • --use-strict実行時にフラグを使用するnode

この警告が表示される具体的な理由は、現状のデフォルト ノード インタープリターが完全に ES6 対応ではないという事実に関係しています。たとえば、ノード 4 では、ES6 キーワードletであっても、strict モード以外では使用できません。let

于 2015-09-26T05:19:12.600 に答える