下面的代码:

import React from 'react';
import { Link } from 'react-router';
import { View, NavBar } from 'amazeui-touch';

import * as Pages from '../components';

const {  Home, ...Components } = Pages;

我得到这个eslint错误:

7:16  error  Parsing error: Unexpected token .. Why?

这是我的eslint配置:

{
  "extends": "airbnb",
  "rules": {
    /* JSX */
    "react/prop-types": [1, {
      "ignore": ["className", "children", "location", "params", "location*"]
    }],
    "no-param-reassign": [0, {
      "props": false
    }],
    "prefer-rest-params": 1,
    "arrow-body-style": 0,
    "prefer-template": 0,
    "react/prefer-stateless-function": 1,
    "react/jsx-no-bind": [0, {
      "ignoreRefs": false,
      "allowArrowFunctions": false,
      "allowBind": true
    }],
  }
}

.... .... 有什么问题吗?


当前回答

.
.
{
    "parserOptions": {
    "ecmaVersion": 2020
},
.
.

会成功的。

其他回答

React + Firebase函数

转到:functions -> .eslintrc.js

添加它- parserOptions: { ecmaVersion: 8, 的,

module.exports = {
  root: true,
  env: {
    es6: true,
    node: true,
  },
  parserOptions: {
    ecmaVersion: 8,
  },
  extends: ["eslint:recommended", "google"],
  rules: {
    quotes: ["error", "double"],
  },
};

如果你有一个使用husky运行eslint的预提交任务,请继续阅读。我尝试了大多数关于parserOptions和解析器值的答案,其中我的实际问题是关于我所使用的节点版本。

我当前的节点版本是12.0.0,但husky以某种方式使用了我的nvm默认版本(尽管我的系统中没有nvm)。这似乎是哈士奇本身的问题。所以:

我删除了$HOME/。nvm文件夹,当我之前删除nvm时没有删除。 验证节点是最新的,并做了适当的解析器选项。 它开始工作了!

.
.
{
    "parserOptions": {
    "ecmaVersion": 2020
},
.
.

会成功的。

ESLint 2。x实验性地支持ObjectRestSpread语法,您可以通过在.eslintrc: docs中添加以下内容来启用它

"parserOptions": {
  "ecmaVersion": 6,
  "ecmaFeatures": {
    "experimentalObjectRestSpread": true
  }
},

ESLint 1。X本身不支持扩散操作符,解决这个问题的一种方法是使用babel-eslint解析器。最新的安装和使用说明在项目自述中。

我解决了这个问题 首先,使用npm安装babel-eslint

npm install babel-eslint --save-dev

其次,在.eslintrc文件中添加此配置

{
   "parser":"babel-eslint"
}