Node.js和eslint不同意“严格使用”

ESLint告诉我,我不需要在我的index.js文件的顶部"use strict" (这是一个简单的服务器,就像https://nodejs.org/en/about/上的一个简单的服务器)。 显然,所有节点模块已经处于严格模式。 说得通。

但是,运行node index.js得到了一个“SyntaxError:[let]不支持严格模式外”。 与“冗余” "use strict"杂注运行。

为什么不一致? 不应该知道这个节点模块默认严格吗? 这可能是由于一些简单的节点错误configuration,ESLint或我的IDE?

ESLint自行决定它认为是有效还是无效的警告或错误。 你必须把eslint / jslint / jshint所说的所有东西都视为咨询。 根据某人的build议是最佳和完全有效的。

这就是说,你有一些select来压制这个特定的警告:

  • 在代码的注释中使用eslint标志
  • 用configuration运行eslint来指定这个标志
  • 运行node时使用--use-strict标志

关于为什么会出现这个警告的具体原因与默认的节点解释器并不完全符合ES6的事实有关。 例如,在节点4中,即使let是ES6关键字,也不能在严格模式外使用let