Resolve eslint(node/no-unsupported-features/es-syntax) - 如何在 ESLint 中支持 JavaScript 模块?

Resolve eslint(node/no-unsupported-features/es-syntax) - How to support JavaScript modules in ESLint?

我正在用 JavaScript/ Redux 编写游戏。我无法配置我的 .eslintrc.json 文件以使其支持最新的 JavaScript 语法 - 我收到一条消息说

"Import and export declarations are not supported yet" eslint(node/no-unsupported-features/es-syntax).

我已经阅读了 ESLint 的官方配置文档,并在过去几个小时内尝试了(我认为所有)组合(更改环境、ecmaVersions、解析器和解析器选项)。

我最近尝试的是安装 babel-eslint 解析器,所以目前我的 .eslintrc.json 看起来像这样:

{
  "extends": ["airbnb-base", "prettier", "plugin:node/recommended"],
  "plugins": ["prettier"],
  "env": {
    "es2020": true
  },
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 2020,
    "sourceType": "module"
  },
  "rules": {
    "prettier/prettier": "error"
  }
}

还有我的package.json:

{
  "name": "astroman-game",
  "version": "1.0.0",
  "description": "",
  "private": true,
  "scripts": {
    "build": "webpack",
    "start": "webpack-dev-server --open",
    "eslint": "eslint ./"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.5.5",
    "@babel/preset-env": "^7.5.5",
    "babel-eslint": "^10.0.3",
    "babel-loader": "^8.0.6",
    "eslint": "^6.1.0",
    "eslint-config-airbnb-base": "^14.0.0",
    "eslint-config-node": "^4.0.0",
    "eslint-config-prettier": "^6.10.0",
    "eslint-plugin-import": "^2.18.2",
    "eslint-plugin-node": "^11.0.0",
    "eslint-plugin-prettier": "^3.1.2",
    "prettier": "^1.19.1",
    "webpack": "^4.39.3",
    "webpack-cli": "^3.3.7",
    "webpack-dev-server": "^3.8.0"
  },
  "dependencies": {
    "redux-starter-kit": "^0.6.3"
  }
}

但是也没有解决问题。 感谢您的帮助!

您正在从 plugin:node/recommended 扩展,后者适用于 NodeJS。 Node 只支持 require() CommonJS 风格的导入。您的前端应用程序没有理由使用这组建议。

extends 列表中删除 plugin:node/recommended

"extends": ["airbnb-base", "prettier"],