Plugin API
插件通过Tapable类来提供插件接口。这个类保留 tap,tabAsync 和 tabPromise 方法,可以使用这些方法注入自定义构建步骤。而这些步骤将在整个编译过程中的不同时机触发,通常需要结合compiler hooks和插件内部暴露出来的钩子使用
- tap 用于触发同步钩子,例如进入一次新的构建 - compile 阶段
- tabAsync和tabPromise用来触发异步钩子。如 启动编译钩子 - run
自定义钩子
可以为其他插件的编译添加一个新的钩子,来触及到这些插件的内部
const SyncHook = require('tapable').SyncHook;
compiler.hooks.myCustomHook = new SyncHook(['a', 'b', 'c']);