如何使用新的 Webpack API 重写 compiler.plugin('done'...)?

giv*_*nse 3 webpack webpack-4

这个

const compiler = webpack(webpackConfig);
compiler.plugin('done', function(stat) {
});
Run Code Online (Sandbox Code Playgroud)

警告:

(节点:63533)弃用警告:不推荐使用 Tapable.plugin。在使用新的API .hooks,而不是

我知道我必须让它看起来像这样:

compiler.hooks.done.tapAsync('webpack', function(stat) {})
Run Code Online (Sandbox Code Playgroud)

这当然行不通。也没有找到文档。

Pla*_*256 5

webpackCompiler.hooks.done.tap('BuildStatsPlugin', (stats) => {
  ....
});
Run Code Online (Sandbox Code Playgroud)

虽然,根据源代码,它被描述为AsyncHook,但我在生产代码上工作,并且按预期工作。

  • 自己注意:“BuildStatsPlugin”是我们正在开发的插件的名称……所以它可以是任何字符串。 (2认同)