Webpack require.context模块未找到:修改图片后报错的解决方法求助
解决Webpack使用require.context导入图片后缓存旧文件路径的问题
你遇到的是Webpack缓存导致的问题——require.context生成的模块依赖会被Webpack缓存到磁盘或内存中,即使你删除/重命名了图片,旧的缓存记录依然存在,导致构建时报错找不到已删除的文件。
下面是几个直接有效的修复方法:
清理Webpack缓存目录
大多数基于Webpack的脚手架(比如Vue CLI、Create React App)会把缓存存在node_modules/.cache文件夹里,直接删除这个文件夹,再重启开发服务器就能清除旧的依赖记录。启动开发服务器时禁用缓存
启动命令里加上--no-cache参数,强制Webpack不使用缓存,重新扫描文件:npm run dev -- --no-cache # yarn环境执行 yarn dev --no-cache修改Webpack配置禁用开发环境缓存
在webpack.config.js里明确关闭开发环境的缓存,避免后续再出现类似问题:module.exports = { // ...其他配置项 cache: process.env.NODE_ENV === 'development' ? false : { type: 'filesystem', // 生产环境可保留缓存提升构建速度 } }针对特定框架的缓存清理命令
如果你用的是Vue CLI,直接执行官方的缓存清理命令:vue-cli-service clear
你之前改路径的临时方法之所以有效,是因为修改路径后Webpack会重新扫描新目录,旧的缓存依赖被自动丢弃;而单纯重启服务器没用,是因为Webpack的缓存存在磁盘上,并非内存缓存,重启不会自动清除。
内容的提问来源于stack exchange,提问作者Philly
相关产品推荐
相关产品推荐

