写webpack插件报警告Tapable.plugin is deprecated. Use new API on .hooks instead解决方案,webpack4插件新写法

最近写了个小插件报了个警告,然后去百度了一下,全都给我说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