启动View报node/no-missing-import规则未定义错误 应用无法渲染
问题现象
启动View服务时应用无法正常渲染,src目录下所有JS文件首行均抛出同类ESLint报错,报错信息如下:
src/App.js Line 1:1: Definition for rule 'node/no-missing-import' was not found node/no-missing-import src/index.js Line 1:1: Definition for rule 'node/no-missing-import' was not found node/no-missing-import src/reportWebVitals.js Line 1:1: Definition for rule 'node/no-missing-import' was not found node/no-missing-import src/util/index.js Line 1:1: Definition for rule 'node/no-missing-import' was not found node/no-missing-import Search for the keywords to learn more about each error.
报错根因
该报错为ESLint代码校验触发:配置文件中启用了node/no-missing-import校验规则,但本地未安装提供该规则的对应依赖包,或插件未在ESLint配置中正确声明。所有JS文件首行抛错是因为ESLint做全局规则校验时,发现规则本身不存在,会直接在文件起始位置抛出错误,阻断编译流程。
修复方案
按顺序执行以下操作即可解决问题:
- 安装缺失的ESLint插件依赖,在项目根目录执行对应包管理工具的安装命令:
npm用户执行:npm install eslint-plugin-node --save-dev
yarn用户执行:yarn add eslint-plugin-node --dev
pnpm用户执行:pnpm add eslint-plugin-node -D - 检查项目根目录的ESLint配置(配置文件为
.eslintrc.js/.eslintrc.json,或package.json内的eslintConfig字段),确认plugins数组中已声明node插件,配置参考:
{ "plugins": ["node"], "rules": { // 原有其他规则保持不变 "node/no-missing-import": "error" } }
如果是纯前端浏览器端项目,不需要做Node.js环境的导入路径校验,可直接将node/no-missing-import规则值设为off关闭该规则,不会影响前端代码正常编译运行。
- 清理缓存后重启服务:删除项目下
node_modules/.cache目录,重新执行项目启动命令即可。如果是React脚手架创建的项目,也可直接执行带缓存清理参数的启动命令:npm start --reset-cache
内容的提问来源于stack exchange,提问作者Thiago Souza
相关产品推荐
相关产品推荐

