箭头函数语法(=>)'仅在ES6中可用(使用'esversion:6')

Raf*_* C. 15 javascript jshint gruntjs ecmascript-6 grunt-contrib-jshint

目前我正在使用量角器/ grunt运行我的测试但是我收到以下错误消息:

'arrow function syntax (=>)' is only available in ES6 (use 'esversion: 6').
Run Code Online (Sandbox Code Playgroud)

我认为我的.jshintrc文件没有被读取,因为我添加了这个条件.

.jshintrc

{ 
  "esversion": 6 
}
Run Code Online (Sandbox Code Playgroud)

Gruntfile.js

jshint : {
  all: ["tests/API/**/*.js"],
  options: {
    undef: true,
    mocha: true,
    node: true,
    jshintrc: true,
    esversion: 6,
    globals: {
      require: true,
      module: true,
      console: true,
      esversion: 6,
      }
  },
  ui: ["tests/UI/**/*.js"],
  options: {
    undef: true,
    mocha: true,
    node: true,
    jshintrc: true,
    esversion: 6,
    globals: {
      require: true,
      module: true,
      console: true,
      esversion: 6,
      jshintrc: true,
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

有什么想法解决这个问题吗?

Raf*_* C. 38

我能够通过在每个file.js的顶部添加这个代码块来解决这个问题

/*jshint esversion: 6 */
Run Code Online (Sandbox Code Playgroud)

例:

在此输入图像描述


Kus*_*nde 25

无法/*jshint esversion: 6 */在每个file.js文件中添加.

如果您使用的是Visual Studio代码,请执行以下更改,而不是上述内容: -

  1. 打开Visual Studio代码
  2. 文件 - >首选项 - >设置
  3. 默认用户设置 - > JSHint配置
  4. 寻找 "jshint.options": {},
  5. "jshint.options": {"esversion": 6},通过单击左侧的"编辑"将其更改为

  • 这对我有用。在第 3 步之后,在配置部分下,单击“在 settings.json 中编辑”。在我的设置中,没有 jshint.options,所以我必须添加它。 (2认同)

Nad*_*sin 10

您可以按照以下步骤进行更多项目特定的设置。

  1. .vscode在项目目录的根目录下创建一个名为的文件夹
  2. 创建一个名称为 settings.json
  3. 在其中添加以下内容。
{
  "jshint.options": {
    "esversion": 6
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以添加更多设置,以保持整个团队的一致。

{
    "editor.tabSize": 2,
    "editor.formatOnSave": true,
    "editor.formatOnType": true, 
    "jshint.options": {
        "esversion": 6
    }
}
Run Code Online (Sandbox Code Playgroud)


Tom*_*ale 5

将以下内容添加到您的package.json

"jshintConfig": {
  "esversion": 6
}
Run Code Online (Sandbox Code Playgroud)