Node.js和eslint不同意"使用strict"

时间:2015-09-25 22:24:44

标签: node.js strict eslint

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

但是,运行node index.js会得到一个"语法错误:[let]不支持在严格模式之外。" 运行"冗余" "use strict" pragma。

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

1 个答案:

答案 0 :(得分:9)

ESLint自行决定其认为有效或无效的警告或错误。您必须将eslint / jslint / jshint所说的所有内容视为其他所有内容的建议。根据某人的意见,他们的建议是最佳的,完全有效。

话虽如此,你确实有一些选项来压制这个特定的警告:

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

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