zip-webpack-plugin 报错 compiler.hooks.emit,Cannot read property 'emit' of undefined

zip-webpack-plugin 报错 compiler.hooks.emit,Cannot read property 'emit' of undefined

报错信息:
 compiler.hooks.emit.tapAsync(ZipPlugin.name, function(compilation, callback) {
                       ^
TypeError: Cannot read property 'emit' of undefined


遇到这个报错,主要问题在于:
zip-webpack-plugin 不同的版本,支持不同版本的 webpack。
zip-webpack-plugin 3.0 支持了 webpack v4.0
zip-webpack-plugin 2.0 支持了 webpack v3.0
zip-webpack-plugin 1.0 支持了 webpack v2.0

遇到错误之后,
查看你当前 webpack 的版本,然后安装你需要的 zip-webpack-plugin 版本。
比如:
webpack 3.0 要安装 zip-webpack-plugin 2.0
你可以卸载你之前安装的 zip-webpack-plugin,然后安装正确的版本:npm install zip-webpack-plugin@2


参考: