Предупреждение об устаревании: Compilation.assets будут заморожены в будущем, все модификации устарели

#reactjs #webpack #webpack-5

#reactjs #webpack #webpack-5

Вопрос:

Я работаю над проектом react, и когда я обновил 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)
  

Я много искал, но не получил точного ответа. Итак, как я могу решить?

Ответ №1:

Обновление 2021, 25 февраля

Выпущен Html-webpack-plugin v5, просто запустите

 npm i -D html-webpack-plugin@latest
  

или

 npm uninstall html-webpack-plugin

npm i -D html-webpack-plugin
  

Оригинальный ответ

В основном это связано с 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 -D html-webpack-plugin@next
  

Комментарии:

1. Должен быть принятый ответ! Спасибо

2. Я тоже нашел это, но это не исправило это для меня.

Ответ №2:

Вы выполняете команду like npx webpack ? Если это так, вы можете использовать:

 $ node --trace-deprecation ./node_modules/.bin/webpack
  

Он должен показать вам все те плагины webpack, которые выдают эти предупреждения.

Комментарии:

1. В моем случае мне пришлось использовать трассировку таким образом node --trace-deprecation ./node_modules/webpack-cli/bin/cli.js (я запускаю webpack, используя package.json scripts через npn run build )

Ответ №3:

Эти предупреждения об устаревании незначительны. Корневой случай — это плагины, которые нарушают совершенно новые спецификации Webpack 5. Когда-нибудь они будут качаться вместе (на некоторое время).

Вы можете обойти [DEP_WEBPACK_COMPILATION_ASSETS] это, обновив пакеты npm. Проверьте последние версии с помощью:

 npm outdated
  

Это сработало для меня, но теперь я получаю [DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS] . Просто подождите и увидите.

Комментарии:

1. Работает нормально, просто запустите npm update (или npm update --force , если необходимо) позже