Rollup Docs:JavaScript 模块打包器的配置项与插件开发文档
首页说明的能力
首页称,Rollup 支持 ES 模块、CommonJS、UMD、SystemJS 等多种输出格式,可以面向 Web、Node 等不同平台打包。首页还列出三项能力:树摇(tree-shaking,删除未被使用的代码)、按入口或动态 import 拆分代码,以及可以扩展打包过程的插件接口。首页另外说明,Vite 在底层使用 Rollup,并为常见开发场景预先配置了选项。

插件开发页的结构
插件开发页先给出定义:插件是一个返回对象的函数,对象中可以包含属性、构建钩子(build hooks)和输出生成钩子(output generation hooks)。插件应以包的形式发布,并导出这个函数,让使用者传入插件自己的选项。
页面列出的构建钩子包括 resolveId、load、transform 等,输出生成钩子包括 renderChunk、generateBundle、writeBundle 等。插件上下文提供 this.emitFile、this.resolve、this.warn 等方法,供插件在打包过程中输出文件、解析模块或报告警告。

配置项的分组
配置页把选项分为核心功能、高级功能、危险区(Danger zone)、实验性选项和废弃选项几组。核心功能包括 input、external、output.format 和 output.dir 等;代码拆分相关的选项有 output.manualChunks 与 output.inlineDynamicImports;树摇相关选项以 treeshake 开头。读者可以先看核心功能,遇到输出结构或体积问题时再查阅其他分组。
语言与版本
页面顶部的语言菜单提供简体中文站点的链接,指向 cn.rollupjs.org。左侧目录中还有一篇迁移到 Rollup 4 的说明,升级版本时可以先阅读。