如何删除 ES6 导出语句上的 eslint 解析错误

How to remove eslint Parsing error on ES6 export statement

npm v3.10.10 节点 v6.11.0 eslint v4.2.0

可以拉the repo here。只需 npm install 然后 npm run lint

我正在尝试使用以下导出语句(注释有效,但很丑):

containers/index.js

export MainContainer from './Main/MainContainer'
// export { default as MainContainer } from './Main/MainContainer'

config/routes.js

import React from 'react'
import { Route, HashRouter, browserHistory } from 'react-router-dom'
import { MainContainer } from '../containers'

const routes = (
  <HashRouter history={browserHistory}>
    <Route path="/" component={MainContainer} />
  </HashRouter>
)

export default routes

我安装了以下软件包:

npm install babel-eslint@next --save-dev

.eslintrc

{
  parser: "babel-eslint",
  en: {
    es6: true,
    browser: true
  },
  extends: ["eslint:recommended", "plugin:react/recommended", "standard"],
  plugins: [
    "react"
  ]
}

.eslintrc.json

{
    "env": {
        "browser": true,
        "es6": true
    },
    "extends": "eslint:recommended",
    "parserOptions": {
        "ecmaFeatures": {
            "experimentalObjectRestSpread": true,
            "jsx": true
        },
        "sourceType": "module"
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "indent": [
            "error",
            2
        ],
        "linebreak-style": [
            "error",
            "unix"
        ],
        "quotes": [
            "error",
            "single"
        ],
        "semi": [
            "off",
            "always"
        ]
    }
}

然而,即使安装了它,当我 npm run lint

时,我仍然会收到关于 MainContainer 的错误

package.json

"scripts": {
  "start": "webpack-dev-server",
  "production": "webpack -p",
  "lint": "eslint app/.; exit 0",
  "fix": "eslint --fix app/.; exit 0"
},

"devDependencies": {
  "babel-core": "^6.25.0",
  "babel-eslint": "^8.0.0-alpha.13",
  "babel-loader": "^7.1.1",
  "babel-plugin-transform-export-extensions": "^6.22.0",
  "babel-preset-es2015": "^6.24.1",
  "babel-preset-react": "^6.24.1",
  "babel-preset-stage-0": "^6.24.1",
  "css-loader": "^0.28.4",
  "eslint": "^4.2.0",
  "eslint-config-standard": "^10.2.1",
  "eslint-plugin-promise": "^3.5.0",
  "eslint-plugin-react": "^7.1.0",
  "eslint-plugin-standard": "^3.0.1",
  "html-webpack-plugin": "^2.29.0",
  "style-loader": "^0.18.2",
  "webpack": "^3.2.0",
  "webpack-dev-server": "^2.5.1"
}

文件夹结构

想通了!我需要编辑我的 .eslintrc.json 文件,而不是 .eslintrc

https://github.com/babel/babel-eslint/issues/6

{
...
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended"
    ],
...
}