最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to remove eslint Parsing error on ES6 export statement - Stack Overflow

programmeradmin0浏览0评论

npm v3.10.10 node v6.11.0 eslint v4.2.0

You can pull the repo here. Just npm install then npm run lint

I'm trying to use the following export statement (ment works, but is ugly):

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="/" ponent={MainContainer} />
  </HashRouter>
)

export default routes

I installed the following package:

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

.eslintrc

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

.eslintrc.json

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

However even with that installed I still get the error about the MainContainer when I npm run lint

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

folder structure

npm v3.10.10 node v6.11.0 eslint v4.2.0

You can pull the repo here. Just npm install then npm run lint

I'm trying to use the following export statement (ment works, but is ugly):

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="/" ponent={MainContainer} />
  </HashRouter>
)

export default routes

I installed the following package:

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

.eslintrc

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

.eslintrc.json

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

However even with that installed I still get the error about the MainContainer when I npm run lint

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

folder structure

Share Improve this question edited Jul 13, 2017 at 16:19 Leon Gaban asked Jul 13, 2017 at 15:48 Leon GabanLeon Gaban 39.1k122 gold badges349 silver badges550 bronze badges 9
  • @AlbertoTrindadeTavares just added them! – Leon Gaban Commented Jul 13, 2017 at 15:51
  • You need to do an import on your index.js file. import MainContainer from /your file path here/ – yoursweater Commented Jul 13, 2017 at 15:52
  • @yoursweater I have that line in my routes.js import { MainContainer } from '../containers' – Leon Gaban Commented Jul 13, 2017 at 15:54
  • 1 @LeonGaban I think that you need babel plugin stage-1 or just babel-plugin-transform-export-extensions - babeljs.io/docs/plugins/transform-export-extensions. Bear in mind that you should add this plugin to the .babelrc. This syntax is not yet official. – Dawid Karabin Commented Jul 13, 2017 at 15:57
  • You'll need a valid export statement. See developer.mozilla/en-US/docs/Web/JavaScript/Reference/…. – Dave Newton Commented Jul 13, 2017 at 15:58
 |  Show 4 more ments

1 Answer 1

Reset to default 5

Figured it out! I needed to edit my .eslintrc.json file, not the .eslintrc

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

{
...
    "extends": [
        "eslint:remended",
        "plugin:react/remended"
    ],
...
}
发布评论

评论列表(0)

  1. 暂无评论