我正在尝试从 webpack 4 -> 5 迁移插件,但是它正在使用MainTemplate.hooks.beforeStartup并且 webpack 抛出异常
UnhandledPromiseRejectionWarning: Error: MainTemplate.hooks.beforeStartup has been removed (use RuntimeGlobals.startup instead)
Run Code Online (Sandbox Code Playgroud)
但我还没有找到任何有关如何使用的信息RuntimeGlobals.startup,那么这个钩子的正确替代方案是什么以及如何使用它?
嗯,过了一段时间,似乎终于有人弄清楚了。
所以按照他的说法
if (isWebpack4) {
compilation.mainTemplate.hooks.startup.tap(this.pluginName, (source) => {
return (this.options.appendScript && this.isRunning())
? require('./autoloadScript')(this.options) + source
: source;
});
} else {
compilation.hooks.additionalChunkRuntimeRequirements.tap(this.pluginName, (chunk, set) => {
set.add(RuntimeGlobals.require);
set.add(RuntimeGlobals.startup);
const LiveReloadRuntimeModule = require('./LiveReloadRuntimeModule');
compilation.addRuntimeModule(chunk, new LiveReloadRuntimeModule(this.options));
})
}
Run Code Online (Sandbox Code Playgroud)
另一种选择似乎是compilation.hooks.additionalChunkRuntimeRequirements。我还没有测试过自己
| 归档时间: |
|
| 查看次数: |
1122 次 |
| 最近记录: |