javascript - Parsingsfeil Nøkkelordet import er reservert (SublimeLinter-contrib-eslint)


Jeg har et problem med eslint, det gir meg [Parsing Error The keyword import is reserve]. Dette skjer bare i Sublime, i Atom-editoren fungerer det fint. Jeg har eslint

.eslintrc.js

module.exports = {
    "extends": "airbnb",
    "plugins": [
        "react"
    ]
};

package.json

{
  "name": "paint",
  "version": "0.0.0",
  "description": "paint on the browser",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "paint",
    "javascript"
  ],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "browserify": "^11.2.0",
    "eslint": "^2.2.0",
    "eslint-config-airbnb": "^2.1.1",
    "eslint-plugin-react": "^3.11.2",
    "gulp-babel": "^5.2.1",
    "gulp-clean": "^0.3.1",
    "gulp-stylus": "^2.2.0",
    "vinyl-source-stream": "^1.1.0"
  }
}

Svar #1

Legg dette til i roten av din .eslintrc.json (tidligere .eslintrc)

"parser": "babel-eslint"

og sørg for å kjøre:

npm install babel-eslint --save-dev

Svar #2

ESLint-alternativet som løser feilen "The keyword import is reserved" er parserOptions.sourceType. Å sette det til "module" lar import-nøkkelordet brukes.

.eslintrc

{
    "parserOptions": {
        "sourceType": "module"
    }
}

Dokumenter: https://eslint.org/docs/user-guide/configuring#specifying-parser-options

Svar #3

Problemet var at jeg hadde installert eslint globalt og lokalt, noe som førte til uoverensstemmelser i SublimeLinter-contrib-eslint. Jeg avinstallerte eslint globalt, og SublimeLinter fungerer nå.

Svar #4

Å lukke VS code og åpne det på nytt gjør trikset for meg...

Svar #5

Det for øyeblikket mest likte svaret fungerer. Imidlertid er det ikke lenger under vedlikehold, og den nylig foreslåtte tilnærmingen er å bruke versjonen fra mono-repositoriet i stedet.

Installasjon

npm install eslint @babel/core @babel/eslint-parser --save-dev
or
yarn add eslint @babel/core @babel/eslint-parser -D

.eslintrc.js

module.exports = {
  parser: "@babel/eslint-parser",
};

Referanse

Relaterte artikler