下面的代码:

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

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


当前回答

我通过在.eslintrc.json文件中设置这个来解决这个问题:

"extends": [
    ...,
    "plugin:prettier/recommended"
]

其他回答

在我的情况下(我使用Firebase云函数),我打开.eslintrc.json并更改:

"parserOptions": {
  // Required for certain syntax usages
  "ecmaVersion": 2017
},

to:

"parserOptions": {
  // Required for certain syntax usages
  "ecmaVersion": 2020
},

我通过在.eslintrc.json文件中设置这个来解决这个问题:

"extends": [
    ...,
    "plugin:prettier/recommended"
]

尽管实现了上述所有解决方案,但我还是遇到了这个问题。当我降级eslint版本时,它开始工作了

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"],
  },
};

我使用typescript,我解决了这个错误更改解析器

....
"prettier/prettier": [
            "error",
            {
                .....
                "parser": "typescript",
                .....
            }
        ],
....