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

NuxtJS中如何禁用ESLint unicorn/number-literal-case规则

问题场景

使用集成了内置Prettier与ESLint的NuxtJS CLI开发时,代码中写入十六进制数字0xffffff会触发ESLint抛出如下错误:

Invalid number literal casing unicorn/number-literal-case

之前尝试过的操作均未完全解决问题:

  • 在.eslintrc.js中添加配置'prefer-numeric-literals': 'off',仅解决了部分报错,ESLint Unicorn插件的校验依然触发错误
  • 尝试卸载Unicorn对应依赖,报错没有消除
  • 手动将十六进制数字写为大写格式,Prettier会在保存时自动将其转换回小写,依然触发报错
  • 当前临时绕过方案是在对应代码块前后添加/* eslint-disable */和/* eslint-enable */跳过校验,但使用非常不便

当前环境版本:

  • Prettier:2.4.0
  • ESLint:7.3.2
解决方案

报错根源是触发了eslint-plugin-unicorn的number-literal-case规则,之前配置关闭的prefer-numeric-literals是ESLint核心规则,和该报错无关,因此没有生效。

方案1:直接关闭对应规则(适配快速推进开发的需求)

打开项目的ESLint配置文件(通常为.eslintrc.js或.eslintrc.json),在rules配置项中添加如下规则:

rules: {
  // 保留原有其他规则配置
  'unicorn/number-literal-case': 'off'
}

配置完成后重启编辑器的ESLint服务(或直接重载编辑器窗口),对应报错会直接消除,不需要逐行加注释跳过校验。

方案2:统一Prettier与ESLint规则(无需禁用校验规则)

如果不想关闭该条校验规则,可以修改Prettier配置,让Prettier的格式化结果和ESLint规则要求一致,避免格式化后触发报错:
打开项目根目录的Prettier配置文件(通常为.prettierrc或prettier.config.js),添加如下配置:

{
  // 保留原有其他Prettier配置
  "hexadecimalNumberCase": "upper"
}

该配置会让Prettier在保存格式化时,自动将十六进制数字转为大写格式,刚好匹配Unicorn规则默认要求的大写规范,不会再出现格式化后触发ESLint报错的问题。如果当前Prettier版本不支持该配置项,直接使用方案1即可,不会影响项目正常开发。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 04:09:31