最近写了个小插件报了个警告,然后去百度了一下,全都给我说extract-text-webpack-plugin这个插件有问题要更新,我也是无语了,这个插件我用都没用,百度翻了下齐刷刷全是这个答案,搞得我都怀疑自己然后把node_modules翻了一遍确定没有使用这个插件,后来去谷歌上搜了一下,第一条就告诉我为什么了,直白来说,webpack里的Tapable类的plugin已经废弃了,请使用hooks api来替代,那插件的代码怎么写呢
<script>
// 旧的使用方法
class myPlugin {
constructor (doneCallback, failCallback) {
// 初始化
}
apply (compiler) {
var that = this;
compiler.plugin('compilation', function (compilation, options) {
compilation.plugin('htmlWebpackPluginAlterAssetTags', function (
htmlPluginData,
callback,
) {
console.log('在别人的插件勾子里做些处理');
});
});
}
}
</script>
<script>
// 新的使用方法
class myPlugin {
constructor (doneCallback, failCallback) {
// 初始化
}
apply (compiler) {
var that = this;
compiler.hooks.compilation.tap('myPlugin ', compilation => {
compilation.hooks.htmlWebpackPluginAlterAssetTags.tap('ScriptWebpackPlugin', htmlPluginData => {
console.log('在别人的插件勾子里做些处理');
});
});
}
}
</script>
这样子就不会报警告了,看到自己写的代码出现警告还是挺不爽的,现在的文章好多都是过时的和复制的真的误导人,webpack的插件钩子在这里https://webpack.js.org/api/compiler-hooks/#aftercompile
手机扫一扫
移动阅读更方便
你可能感兴趣的文章