解析错误 The Keyword import is Reserved (SublimeLinter-contrib-eslint)

Parsing Error The Keyword import is Reserved (SublimeLinter-contrib-eslint)

我有eslint的问题,它给我[Parsing Error The keyword import is reserve]这只发生在sublime中,在atom编辑器中工作正常。我有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"
  }
}

不确定,但尝试将文件重命名为 .eslintrc 并使用

{
  "extends": "airbnb",
  "plugins": ["react"]
};

还要确保安装了所需的软件包。 github.com/airbnb/javascript

问题是我在全局和本地安装了 eslint,导致 SublimeLinter-contrib-eslint 不一致。我全局卸载了 eslint,SublimeLinter 正在工作。

将此添加到您的 .eslintrc.json(以前的 .eslintrc

的根目录
"parser": "babel-eslint"

并确保 运行:

npm install babel-eslint --save-dev

我在流星项目中也遇到了这个错误,我可以通过将 sourceType 设置为 "module" 来解决它 可以在 Eslint 文档中找到更多详细信息: http://eslint.org/docs/user-guide/configuring#specifying-parser-options

解决"The keyword import is reserved"错误的eslint选项是parserOptions.sourceType。将其设置为 "module" 允许使用 import 关键字。

.eslintrc

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

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

这个配置对我有用。 (我正在使用 create-react-app 但适用于任何 eslint 项目)


.eslintrc (create file in root if it doesnt exist)

{
    "rules": {
      "jsx-a11y/anchor-is-valid": [ "error", {
        "components": [ "Link" ],
        "specialLink": [ "to" ]
      }]
    },
    "parserOptions": {
        "sourceType": "module",
        "ecmaVersion": 2015
    }
  }

我在创建vue项目时发现了这个问题(使用的编辑器:Visual Code)

安装 babel-eslint 包 -> npm 安装 babel-eslint

创建 .eslintrc.js 文件并添加以下代码

module.exports = { 根:是的, 解析器选项:{ 'sourceType': 'module', 解析器:'babel-eslint'
} }

=> npm 运行 服务,该错误将像魔术一样解决。

花了 30 分钟 - 尝试了所有解决方案但都没有用,所以分享这个。

这个问题出现在 new react appVisual Studio Code 中,甚至在这个时候 - 2020 年 4 月。

  1. 在根文件夹(package.json 旁边或 /src/ 目录旁边)创建一个文件 .eslintrc.js
  2. 将以下内容粘贴到 .eslintrc.js
  3. 重启你的编辑器,比如 VS Code。
  4. 现在我可以看到真正的错误,而不是那些虚假的 import/export 错误。

.eslintrc.js 文件内容:

module.exports = {
  env: {
    commonjs: true,
    node: true,
    browser: true,
    es6: true,
    jest: true,
  },
  extends: ["eslint:recommended", "plugin:react/recommended"],
  globals: {},
  parser: "babel-eslint",
  parserOptions: {
    ecmaFeatures: {
      jsx: true,
    },
    ecmaVersion: 2018,
    sourceType: "module",
  },
  plugins: ["react", "import", "react-hooks"],
  ignorePatterns: ["node_modules/"],
  rules: {},
  settings: {
    react: {
      version: "latest", // "detect" automatically picks the version you have installed.
    },
  },
};

希望对您有所帮助。

关闭 VS 代码并重新打开它对我有用...

已接受的答案有效,但是不再维护,新建议的方法是改用 mono repo 中的版本。

安装

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

Reference

在启用 eslint 的 typescript react-native 项目中创建 js 文件时发生了同样的问题。

将文件类型从 js 更改为 ts 解决了该问题。

此外,如之前的回答中所述添加 .eslintrc.js 文件解决了该问题,而无需将文件类型从 js 更改为 ts

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

将 ecmaVersion 添加到 .eslintrc.json 解决了问题

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