eslint解析错误:解析错误:意外的标记=>

By simon at 2018-02-28 • 0人收藏 • 146人看过

我使用的是支持ES6的v7.10.0,因此我不会对我的数据进行处理 码。 ESLint v3.19.0在给出错误Parsing error: Unexpected token =>下面的代码。 给出错误:

module.exports = {

    index: async (req, res) => {
        await functionThatReturnsSomePromise();
  }
}
此外,当我只使用功能失败,错误Parsing error: Unexpected token function 给错误RS:
module.exports = {

    index: async function(req, res) {
        await functionThatReturnsSomePromise();
  }
}
当我定义这样的类时,linter不会抱怨它: 没有错误:
class test {

    testing() {
        async () => {
            console.log('test');
        }
    }
}
。eslintrc
{
  "extends": "eslint:recommended",
  "ecmaFeatures": {
    "binaryLiterals": true,                    // enable binary literals
     "blockBindings": true,                      // enable let and const (aka block bindings)
     "defaultParams": true,                     // enable default function parameters
     "forOf": true,                             // enable for-of loops
     "generators": true,                        // enable generators
     "objectLiteralComputedProperties": true,   // enable computed object literal property names
     "objectLiteralDuplicateProperties": true,  // enable duplicate object literal properties in strict mode
     "objectLiteralShorthandMethods": true,     // enable object literal shorthand methods
     "objectLiteralShorthandProperties": true,  // enable object literal shorthand properties
     "octalLiterals": true,                     // enable octal literals
     "regexUFlag": true,                        // enable the regular expression u flag
     "regexYFlag": true,                        // enable the regular expression y flag
     "templateStrings": true,                   // enable template strings
     "unicodeCodePointEscapes": true,           // enable code point escapes
     "jsx": true                                // enable JSX
  },

  "env": {
    "browser": false,     // browser global variables.
    "node": true,        // Node.js global variables and Node.js-specific rules.
    "es6": true,          // for ES6
    "amd": false,         // defines require() and define() as global variables as per the amd spec.
    "mocha": true,       // adds all of the Mocha testing global variables.
    "jasmine": false,     // adds all of the Jasmine testing global variables for version 1.3 and 2.0.
    "phantomjs": false,   // phantomjs global variables.
    "jquery": false,      // jquery global variables.
    "prototypejs": false, // prototypejs global variables.
    "shelljs": false      // shelljs global variables.
  },

  "globals": {
    // e.g. "angular": true
  },

  "parserOptions": {
      "ecmaVersion": 7,
      "sourceType": "module",
      "ecmaFeatures": {
        arrowFunctions: true,
        defaultParams: true
      }
  },

  "rules": {
    ////////// Stylistic Issues //////////

    "no-underscore-dangle": 0,      // disallow dangling underscores in identifiers


    ////////// ECMAScript 6 //////////

    "no-var": 2          // require let or const instead of var (off by default)
  }
}
我怎样才能解决这个问题?

4 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

最后我使用了一种不错的棉绒。 我现在使用eslint 3.10.1

2018-02-28   #2

由于你的代码需要被转发,你是否尝试过使用[babel- eslint](http://eslint.org/docs/user-guide/configuring#指定分析器) 解析器? 为此,请安装babel-eslint包装并将其包含在.eslintrc.json中 (或等同于js):

{
  (...)
  "parser": "babel-eslint",
  (...)
}

2018-02-28   #3

最后我使用了一种不错的棉绒。 我现在使用eslint 3.10.1

2018-02-28   #4

我通过编辑解决了这个问题:

parserOptions.ecmaVersion = 8
异步/等待是在ES8(又名ES2017),我认为是在ES7中

登录后方可回帖

Loading...