DeprecationWarning: Compilation.assets 将来会被冻结,所有修改都被弃用

Var*_*hal 8 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)
Run Code Online (Sandbox Code Playgroud)

我搜索了很多,但没有得到确切的答案。那么我该如何解决呢?

dhi*_*ilt 17

2021 年更新,2 月 25 日

html-webpack-plugin v5 发布了,直接运行

npm i -D html-webpack-plugin@latest
Run Code Online (Sandbox Code Playgroud)

或者

npm i -D html-webpack-plugin@latest
Run Code Online (Sandbox Code Playgroud)

原答案

这主要与 html-webpack-plugin 相关,虽然它的新版本 5(与 webpack v5 集成)仍处于测试阶段,您应该手动更新它:

npm uninstall html-webpack-plugin

npm i -D html-webpack-plugin
Run Code Online (Sandbox Code Playgroud)

  • 我也发现了这个,但它并没有为我解决问题。 (3认同)
  • 应该是公认的答案!谢谢 (2认同)

che*_*san 11

你正在运行这样的命令吗npx webpack?如果是这样,您可以使用:

$ node --trace-deprecation ./node_modules/.bin/webpack
Run Code Online (Sandbox Code Playgroud)

它应该向您显示所有产生这些警告的 webpack 插件。

  • 就我而言,我必须以这种方式使用跟踪 `node --trace-deprecation ./node_modules/webpack-cli/bin/cli.js` (我通过 `npn run build` 使用 package.json `scripts` 运行 webpack) (2认同)