Rollup 配置文件:rollup.config.js

Rollup 是一个用于 JavaScript 的模块打包器,可以编译代码并将小块代码编译成大块复杂的代码,采用树形摇晃(tree-shaking)的方式消除未使用的代码。Rollup.config.js 文件是配置 Rollup 工作方式的核心文件。本章将详细介绍如何创建和配置 rollup.config.js 文件。

入门配置

首先,需要安装 Rollup 和必要的插件。可以通过 npm 或 yarn 安装:

接下来,在项目根目录下创建一个名为 rollup.config.js 的文件,并开始基础配置:

-- -------------------- ---- -------
------ - ------ - ---- -----------------------
------ ------- ---- ------------------------------

------ ------- -
  ------ -------------- -- ------
  ------- -
    ----- ----------------- -- ------
    ------- ------- -- --------------------
  --
  -------- -
    ---------- -- ------- ------- --
    -------- -- ----
  -
--

上述配置中,input 表示入口文件路径,output 表示输出文件路径和格式。plugins 数组用于添加各种插件以增强或修改构建过程。

输入配置详解

输入配置部分主要通过 input 属性定义。这个属性接受一个字符串值,代表你要打包的主入口文件路径。例如:

这里假设入口文件位于 src/index.js

输出配置详解

输出配置部分主要通过 output 属性定义。这个属性可以是一个对象,也可以是一个数组(如果你有多个输出目标)。每个对象都可以包含以下属性:

  • file: 指定输出文件的路径。
  • format: 定义输出的模块格式。常见的格式包括:
    • iife: 立即调用函数表达式,适用于直接插入到 HTML 页面中的脚本。
    • umd: 兼容 AMD、CommonJS 和全局变量的通用模块格式。
    • cjs: CommonJS 格式,通常用于 Node.js 环境。
    • es: ES 模块格式,适合现代浏览器环境。

示例配置:

使用插件

插件扩展了 Rollup 的功能,使你可以更灵活地处理各种需求。常见的插件包括:

  • @rollup/plugin-node-resolve: 解析 Node.js 模块,允许 Rollup 找到并使用第三方库。
  • @rollup/plugin-commonjs: 将 CommonJS 模块转换为 ES6 模块,使得它们可以被 Rollup 正确处理。
  • terser: 压缩代码,减少文件体积。
  • @rollup/plugin-babel: 使用 Babel 转换现代 JavaScript 语法,确保向后兼容。

例如,要添加 terser 插件进行代码压缩:

处理多个入口点和输出

如果项目中有多个入口点,可以通过数组形式指定多个输入和对应的输出配置:

-- -------------------- ---- -------
------ ------- -
  -
    ------ --------------
    ------- -
      ----- ---------------
      ------- ------
    -
  --
  -
    ------ --------------
    ------- -
      ----- ---------------
      ------- ------
    -
  -
--

这种方式非常适合构建多页面应用或多模块项目。

总结

rollup.config.js 文件是 Rollup 的核心配置文件,通过它你可以定义项目的输入、输出以及使用各种插件来定制构建流程。掌握这些基础知识后,你可以根据项目需求进一步探索更多高级配置选项。下一章我们将深入探讨如何使用 Rollup 处理不同类型的文件,如 CSS 和图片资源。

纠错
反馈