You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESLint运行时报类内箭头函数存在意外token '=' 如何解决?

报错原因

你使用的类内箭头函数写法属于类公共实例字段特性,该特性在ES2022才被正式纳入ECMAScript标准。ESLint v7.32.0默认的解析器(Espree)默认ECMAScript版本为2020,即便你配置了env.es2021: true也没有覆盖解析器的版本规则,因此无法识别该语法,就会抛出unexpected token '='报错。你的运行环境本身支持该特性,所以代码可以正常执行。

解决方案

以下两种方案都可以保留你现有的箭头函数写法,不需要修改业务代码:

方案1:原生JS项目(未使用Babel转译)

直接在eslintrc.json中新增parserOptions配置,将ECMAScript版本指定为2022或更高即可:

{
  "env": {
    "es2021": true
  },
  "parserOptions": {
    "ecmaVersion": 2022
  }
}

你也可以将ecmaVersion设为"latest",自动匹配最新的ECMAScript版本规则。

方案2:使用Babel转译的项目

如果你的项目已经接入Babel做语法转译,可通过Babel专属的ESLint解析器兼容该语法:

  • 首先安装所需依赖:
    npm install @babel/eslint-parser @babel/plugin-proposal-class-properties --save-dev
  • 修改eslintrc.json配置如下:
{
  "env": {
    "es2021": true
  },
  "parser": "@babel/eslint-parser",
  "parserOptions": {
    "requireConfigFile": false,
    "babelOptions": {
      "plugins": ["@babel/plugin-proposal-class-properties"]
    }
  }
}

如果你项目本身已经有单独的Babel配置文件,并且已经开启了类属性插件,可删掉babelOptions字段的配置。

内容的提问来源于stack exchange,提问作者Naxi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:57:03