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

ESLint禁用指令对JSON文件导入行无效,求解决方案

解决建议

1. 升级ESLint及解析器版本

导入断言(assert { type: 'json' })属于较新的ES语法,ESLint默认的Espree解析器在v9.0.0及以上版本才支持该语法。如果你的ESLint版本低于v9,请执行升级:

npm install eslint@latest --save-dev

2. 配置Node.js环境版本

在.eslintrc的env中指定具体的Node.js版本(需为支持导入断言的v17.1及以上),让ESLint准确识别当前环境支持的语法:

{
  "env": {
    "es6": true,
    "node": "18" // 或更高版本如20
  },
  "extends": [
    "prettier"
  ],
  "parserOptions": {
    "ecmaVersion": "latest",
    "sourceType": "module"
  }
}

3. 临时规避方案(无法升级版本时)

如果暂时无法升级ESLint,可以改用Node.js的fs模块读取JSON文件,绕过导入断言的语法问题:

import fs from 'fs';
import path from 'path';

const pkg = JSON.parse(fs.readFileSync(path.resolve('../../package.json'), 'utf8'));

为什么eslint-disable注释无效?

因为报错是解析阶段错误,ESLint在解析代码时无法识别assert语法,直接抛出错误,还没到执行lint规则的阶段,所以eslint-disable这类注释根本不会被处理。必须先解决解析器对语法的支持问题,才能让禁用注释生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:32:11