概述
webpack报[DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning,是由于webpack升级到5.x版本后导致的,可尝试更新引起出错的包到最新版本。如果使用的插件没有新版本解决该问题时,只能弃用该包或者换用其他包。
问题描述
将webpack升级到5.18.0后,使用imagemin-webpack-plugin时报警告信息如下:
[DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated.
BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.
Do changes to assets earlier, e. g. in Compilation.hooks.processAssets.
Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.
解决过程
该问题虽然只是imagemin-webpack-plugin包执行时报警告信息,程序能执行完,功能也能实现。但对于我这完美主义者,看到该错误,当然要尽力解决。
通过查找资料,发现该错误是由于webpack升级到5.x版本后,imagemin-webpack-plugin没有同步跟进升级导致。
由于imagemin-webpack-plugin没有针对该问题发布新的版本,我们也无法通过升级包来解决该问题。查找该包Github项目文档,有人建议改用image-minimizer-webpack-plugin包,点击查看。
解决方法:
- 等作者发布新版本修复该问题
- 改用其他包,比如image-minimizer-webpack-plugin
- 忽视该警告,反正功能不受影响,等到真不能用时再换其他包
扩展:html-webpack-plugin报同样错误
在查找资料时,网上大部分都是使用webpack时html-webpack-plugin报同样错误([DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future)。
webpack报错原因为为html-webpack-plugin
这个包导致的⚠️信息,github issue
解决方法
升级html-webpack-plugin到最新版本,或者下一个版本。命令为:
npm install --save-dev html-webpack-plugin@next
转载请注明:半亩方塘 » webpack [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future