执行npm run build编译失败,提示Definition for rule 'no-' was not found
问题原因及解决方案
这个报错是ESLint规则配置错误导致的编译失败,和你贴出的第20行业务代码没有关联,具体触发原因和解决方法如下:
错误触发原因
- 你的项目ESLint配置文件(.eslintrc、.eslintrc.js 或 package.json 内的
eslintConfig字段)中存在不完整的规则声明:大概率是书写no-开头的规则时遗漏了后半段内容(比如本应写no-unused-vars,只保留了no-),ESLint无法找到对应规则定义就会抛出该错误。 - 少部分情况是ESLint依赖、规则集插件(比如eslint-config-react-app)版本不兼容或安装损坏,导致规则加载时被截断为无效的
no-。
解决步骤
- 优先排查项目根目录下所有ESLint配置文件,全局搜索单独的
"no-"规则项,要么补全为正确的规则名,要么直接删除无效的规则行即可解决问题。 - 如果没有找到错误的规则声明,删除项目根目录的
node_modules文件夹和package-lock.json(或yarn.lock)锁文件,重新执行npm install安装依赖,修复损坏的依赖文件。 - 若需要临时绕过校验完成编译,可以在ESLint配置的rules字段中添加
"no-": "off",关闭这条无效规则的校验。
内容的提问来源于stack exchange,提问作者syed _khutub
相关产品推荐
相关产品推荐

