前端面试宝典

什么是 Rollup?(面试通俗版 + 核心考点)

一句话总结:
Rollup 是一个专注于生产环境的 JavaScript 模块打包工具,主打「打包体积小、代码干净、适合库/组件/生产项目」,也是 Vite 生产打包的底层工具。


1. 最通俗的解释

你写代码时会分成很多文件:
a.jsb.jsutils.jsindex.js

Rollup 做的事:
把这些分散的文件,打包成一个(或几个)浏览器/Node 能直接运行的文件

它和 webpack 最大区别:

  • webpack:大而全,什么都能打包(开发 + 生产)
  • Rollup专注精简、高效、干净,专门做生产环境最优打包

2. Rollup 核心特点(面试必背)

① 极致的 Tree-shaking(最核心优势)

  • 只打包你用到的代码
  • 没用到的函数、变量、模块直接删掉
  • 打包结果体积最小、最干净

这就是为什么 Vite 生产环境要用 Rollup!

② 原生支持 ES Modules(import/export)

  • 天然适配现代 JS 标准
  • 打包出来的代码可读性高
  • 没有多余的 webpack 运行时代码

③ 适合打包:库、组件、工具包

Vue、React、Vue3 源码、Vite 本身……都是用 Rollup 打包的。

④ 缺点

  • 不适合开发环境(热更新慢、不能按需编译)
  • 对图片、样式等资源的处理不如 webpack 方便

3. 面试必问:Rollup 和 Webpack 的区别

特性RollupWebpack
定位库/生产打包全功能工程化
打包体积极小、干净稍大、有运行时
Tree-shaking最强支持但弱一些
开发体验非常好
生态适合库适合业务项目
Vite 中角色生产环境打包

4. 最重要的一句话(背会就能答面试)

Rollup 是一个基于 ES Modules 的 JavaScript 打包工具,以极致的 Tree-shaking 和精简打包体积著称,专门用于生产环境优化,也是 Vite 生产构建的底层工具。


总结

  1. Rollup = 生产级打包工具
  2. 最大优势:Tree-shaking 极强,打包体积最小
  3. Vite 开发用 ESM,生产用 Rollup
  4. 常用来打包:库、组件、框架(Vue/React)

如果你愿意,我可以把 Vite + Rollup + Webpack 三者关系整理成一张超级好记的面试图