DeprecationWarning: Compilation.assets в будущем будет заморожен, все модификации устарели
Я работаю над реакционным проектом, и когда я обновил webpack 4.44.2 до 5.4.0, я получаю следующее сообщение:
[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_*.
(Use `node --trace-deprecation ...` to show where the warning was created)
Я много искал, но не получил точного ответа. Итак, как я могу решить?
3 ответа
В основном это связано с html-webpack-plugin, и хотя его новая версия 5 (интегрированная с webpack v5) все еще находится в стадии бета-тестирования, вам следует обновить ее вручную:
npm show html-webpack-plugin version
4.5.1
npm show html-webpack-plugin@next version
5.0.0-beta.5
npm i --save-dev html-webpack-plugin@next
Вы выполняете команду вроде
npx webpack
? Если да, вы можете использовать:
$ node --trace-deprecation ./node_modules/.bin/webpack
Он должен показать вам все плагины веб-пакетов, выдающие эти предупреждения.
Эти предупреждения о развращении незначительны. Основным случаем являются плагины, которые нарушают совершенно новые спецификации Webpack 5. Когда-нибудь они будут качаться вместе (какое-то время).
Вы можете обойти
[DEP_WEBPACK_COMPILATION_ASSETS]
путем обновления пакетов npm. Проверьте последние версии с помощью:
npm outdated
Это сработало для меня, но теперь я получаю
[DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS]
. Просто подожди и увидишь.