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

Node.js类静态属性ESLint解析错误:Unexpected token = 解决方案咨询

解决ESLint对类静态属性报Parsing error: Unexpected token =的问题

这个报错我之前也碰到过,本质是ESLint的解析器还不认识你用的类静态字段语法,虽然当前Node.js版本已经原生支持这个写法(Node.js 12.20.0+就支持类静态字段),但ESLint的配置没跟上,导致解析时出错。下面是两种简单的解决方法:

方法1:升级ESLint的ECMA版本配置

你用的static userPasswordLength = { ... }是ES2022正式纳入的语法特性,但你的ESLint配置里parserOptions.ecmaVersion只设置到了2018,默认解析器(Espree)只能识别到ES2018及之前的语法,所以才会报错。

直接修改.eslintrc.json里的根级parserOptions:

{
  "env": { "node": true, "es6": true },
  "parserOptions": { 
    "ecmaVersion": "2022", // 把2018替换成2022或"latest"
    "sourceType": "module" 
  },
  // 其他原有配置保持不变
}

保存后重新运行ESLint,这个解析错误应该就消失了。

方法2:用Babel解析器兼容更多新语法

如果你的ESLint版本较旧,或者需要支持一些还没纳入ECMA标准的语法扩展,可以切换到@babel/eslint-parser来解析代码:

  1. 先安装依赖:
npm install --save-dev @babel/eslint-parser @babel/core
  1. 修改.eslintrc.json的根配置:
{
  "env": { "node": true, "es6": true },
  "parser": "@babel/eslint-parser", // 添加这一行指定解析器
  "parserOptions": { 
    "ecmaVersion": "2022",
    "sourceType": "module",
    "requireConfigFile": false // 如果项目没有单独的Babel配置文件,加上这个参数
  },
  // 其他原有配置保持不变
}

这样ESLint会通过Babel来解析你的代码,就能正确识别类静态字段语法了。

额外说明

完全不需要修改你的业务代码——你的写法是符合现代JS标准的,问题只出在ESLint的解析配置上,调整配置就能解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 12:27:30