Rollup 是一个现代 JavaScript 模块打包器,它可以帮助开发者将模块打包成一个或多个文件。在 Rollup 中开发插件可以让你扩展其功能,满足特定的打包需求。

插件基础

插件定义

Rollup 插件是一个对象,它包含一个 name 属性和一个 apply 方法。apply 方法会在 Rollup 的打包过程中被调用。

export default {
  name: 'my-plugin',
  apply: function (bundle) {
    // 插件逻辑
  }
};

插件钩子

Rollup 插件可以通过钩子(hooks)来控制打包流程。常用的钩子包括:

  • buildStart:打包开始时触发
  • buildEnd:打包结束时触发
  • resolveId:解析模块 ID 时触发
  • load:加载模块内容时触发
export default {
  name: 'my-plugin',
  hooks: {
    buildStart: () => {
      // 打包开始逻辑
    },
    resolveId: (id, importer) => {
      // 解析模块 ID 逻辑
    }
  }
};

插件开发实例

以下是一个简单的插件示例,该插件可以将所有模块的文件名修改为 bundle.js

export default {
  name: 'rename-output',
  outputOptions: (options) => {
    options.file = 'bundle.js';
  }
};

扩展阅读

想要了解更多关于 Rollup 插件开发的信息,可以阅读官方文档:Rollup 插件开发指南

返回首页