Skip to content

什么是Plugin

Plugin是webpack的支柱功能。Plugin目的在于解决loader无法实现的其他事。

如何实现一个Plugin

Webpack Plugin 本质是一个导出函数,内部实现apply方法。在Webpack执行时会通过调用该函数的apply方法将complier对象作为参数传入。在apply方法中,通过注册compiler的各种事件钩子,实现对webpack的编译过程进行干预。

Compolier Hook

Compilation Hook

js
class MyPlugin {
  constructor(options) {
  }
  apply(compiler) {
    compiler.hooks.run.tap('MyPlugin', compilation => {
      console.log('MyPlugin say: The compilation has started!')
    })
  }
}