arrow function syntax (=>)' is only available

2020-05-25 06:39发布

问题:

Currently I'm running my tests with protractor/grunt but I'm getting the follow error message:

'arrow function syntax (=>)' is only available in ES6 (use 'esversion: 6').

I think my .jshintrc file is not being read, because I've added this condition.

.jshintrc

{ 
  "esversion": 6 
}

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,
    }
  }
}

Any idea to solve this problem?

回答1:

I was able to resolve this issue by adding this block of code at the top of each file.js that accused the error

/*jshint esversion: 6 */

Example:



回答2:

It is not possible to add /*jshint esversion: 6 */ in each file.js file.

Instead of above, please do below changes if you are using Visual Studio Code: -

  1. Open Visual Studio Code
  2. File -> Preferences -> Settings
  3. Default User Settings -> JSHint configuration
  4. look for "jshint.options": {},
  5. change it to "jshint.options": {"esversion": 6}, by clicking on Edit on the left


回答3:

You can do more project-specific settings by following these steps.

  1. Create a folder with the name of .vscode at the root of your project directory
  2. Create a file with the name settings.json
  3. Add the following content into it.
{
  "jshint.options": {
    "esversion": 6
  }
}

You can add some more settings to keep things consistents across your team.

{
    "editor.tabSize": 2,
    "editor.formatOnSave": true,
    "editor.formatOnType": true, 
    "jshint.options": {
        "esversion": 6
    }
}


回答4:

I have this problem after I installed JSHint. The process for me to solve this problem as below: Preference -> setting -> Extensions -> JSHint Configuration -> options -> add "jshint.options": {"esversion": 6} Done.