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]. Просто подожди и увидишь.

Другие вопросы по тегам