今天手贱,重新更新了下项目依赖,npm自动把webpack以及各种依赖更新到了高级版本(忘了生成package-lock.json), 运行项目后提示:
DeprecationWarning: Tapable.plugin is deprecated. Use new API on
.hooks
instead
百度谷歌搜索了下解决方案,都说是 extract-text-webpack-plugin 版本问题,然而更新后并没有消除警告。
后来在 webpack 官方的 issue 上倒是找到了解决方案
步骤:
1.在项目配置文件(config.js)中添加一行
process.traceDeprecation = true;
2.启动项目,会看到类似的提示
image.png
3.点击最上面的一条提示,进入报错的文件
at AntDesignThemePlugin.apply (E:\Public_html\pro-nezog\FrontPoint\node_modules\antd-pro-theme-webpack-plugin\index.js:24:14)
4.把 compiler.plugin("emit", function(compilation, callback) 改为
compiler.hooks.emit.tapAsync("AntDesignThemePlugin", (compilation, callback)

其中 tapAsync(events,function()) 中的events就是这个插件导出的类名这里我的是"AntDesignThemePlugin"每个人报错的插件可能会有不同,根据实际情况进行修改就好
5.运行项目,警告解除

网友评论