Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js和eslint不同意;使用“严格的”;_Node.js_Strict_Eslint - Fatal编程技术网

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

Node.js和eslint不同意;使用“严格的”;,node.js,strict,eslint,Node.js,Strict,Eslint,ESLint告诉我,我不需要在index.js文件的顶部使用“use strict”(这是一个简单的服务器,就像上面的6行服务器一样)。显然,所有节点模块都已处于严格模式。有道理 但是,运行node index.js会得到一个“SyntaxError:[let]在严格模式之外不受支持。”并使用“redundant”“use strict”pragma运行 为什么不一致?node难道不应该知道这个节点模块在默认情况下确实是严格的吗?这可能是由于对node、ESLint或我的IDE的一些简单的错误配

ESLint告诉我,我不需要在index.js文件的顶部使用
“use strict”
(这是一个简单的服务器,就像上面的6行服务器一样)。显然,所有节点模块都已处于严格模式。有道理

但是,运行
node index.js
会得到一个“SyntaxError:[let]在严格模式之外不受支持。”并使用“redundant”
“use strict”
pragma运行


为什么不一致?node难道不应该知道这个节点模块在默认情况下确实是严格的吗?这可能是由于对node、ESLint或我的IDE的一些简单的错误配置造成的吗

ESLint自行决定其认为有效或无效的警告或错误。您必须将eslint/jslint/jshint所说的一切都视为其他一切之上的建议。据某个地方的人说,他们的建议是最优的,完全有效

也就是说,您确实有一些选项来抑制此特定警告:

  • 在代码中的注释中使用
    eslint
    标志
  • 使用配置运行
    eslint
    ,以指定此标志
  • 运行
    节点时使用
    --使用strict
    标志

得到此警告的具体原因与默认节点解释器未完全准备好ES6这一事实有关。例如,在节点4中,您不能在严格模式之外使用
let
,即使
let
是ES6关键字。

您可以使用
运行节点--use strict
flagslint是“错误的”,但可配置:
/*eslint strict:0*/
。就是这样,@ExplosionPills!谢谢为什么不回答这个问题并赢得几分呢?@Amit谢谢Amit。也为我工作!在和处找到此的正式文档。基本上,由于向后兼容性的原因,节点当前需要ES6块作用域特性的严格模式(
let
const
)。在将来的某个时候,
let
将不需要--use strict标志。这是暂时的烦恼,这使它更容易忍受。