美文网首页
编写一个插件

编写一个插件

作者: jluemmmm | 来源:发表于2021-01-03 12:57 被阅读0次

插件向第三方开发者提供了 webpak引擎中完整的能力,使用阶段式的构造回调,开发者可以引入自己的行为到 webpack 构建流程中, 需要理解一些 webpack 底层的内部特性来做相应的钩子。

创建插件

webpack 插件由以下组成

  • 一个js 命名函数
  • 在插件函数的 prototype 上定义一个 apply 方法
  • 指定一个绑定到 webpack 自身的事件钩子
  • 处理 webpack 内部实例的特性数据
  • 功能完成后调用 webpack 提供的回调
/* 一个 js 命名函数 */
function myExampleWebpackPlugin() {

}
/* 在插件函数的 prototype 上定义一个 apply 方法 */

myExampleWebpackPlugin.prototype.apply = function(compiler) {
  /* 指定一个挂载到 webpack 自身的事件钩子 */
  compiler.plugin('weboacksEventHook', function(compilation, callback) {
    /* compilation 处理 webpack 内部实例的特定数据 */
    console.log('this is an example plugin')

    // 功能完成后调用 webpack 提供的回调
    callback()
  })
}

Compiler 和 Compilation

在插件开发中最重要的两个资源是 compiler 和 compilation 对象。理解他们是扩展 webpack 引擎重要的一步。

  • compiler 对象的代表了完整的 webpack 环境配置,这个对象在启动 webpack 时被一次性建立,并配置好所有可操作的设置,包括 options,loader 和 plugin。当在 webpack 环境中应用一个插件时,插件将收到此 compiler 对象的引用,可以用它来访问 webpack 的主环境。
  • compilation

相关文章

网友评论

      本文标题:编写一个插件

      本文链接:https://www.haomeiwen.com/subject/pelroktx.html