Webpack4升级至5后React应用报错找不到webpack/lib/node/NodeOutputFileSystem模块
报错原因
Webpack 5 已正式移除内部的 NodeOutputFileSystem 模块,该模块仅在 Webpack 4 及更早版本中存在,用于 Node 环境下的构建产物输出逻辑。你遇到的报错是因为项目中有依赖仍在调用 Webpack 4 时代的私有内部 API,从给出的依赖列表判断,问题根源是低版本的 eslint-import-resolver-webpack 不兼容 Webpack 5,你当前安装的 0.11.1 版本仅适配 Webpack 4,内部硬编码了对已删除模块的引用。
解决方案
按以下步骤操作即可解决问题:
- 第一步升级
eslint-import-resolver-webpack到适配 Webpack 5 的最新版本:npm install eslint-import-resolver-webpack@latest --save-dev # 若使用yarn执行以下命令: yarn add eslint-import-resolver-webpack@latest --dev - 第二步清理本地依赖缓存后重新安装:
rm -rf node_modules package-lock.json yarn.lock npm install # 若使用yarn执行yarn install - 如果升级后仍有报错,检查项目内自定义的 Webpack 插件、本地构建脚本是否存在直接引用
webpack/lib/node/NodeOutputFileSystem的代码,如有将引用替换为 Webpack 5 官方公开的webpack.OutputFileSystem接口即可。 - 若以上操作完成问题还存在,可将剩余 Webpack 生态相关依赖同步升级到适配 Webpack 5 的版本即可,你当前依赖中的
webpack-dev-middleware、webpack-hot-middleware、html-webpack-plugin版本均已适配 Webpack 5,无需额外调整。
内容的提问来源于stack exchange,提问作者Pablo
相关产品推荐
相关产品推荐

