您的位置:

Rollup是什么?

Rollup是一个JavaScript模块打包器(bundler),它重点关注于ES6模块化的构建,可以将一组小模块定义为依赖关系图,并将它们打包成一个大的JavaScript文件。

一、Rollup怎么读?

Rollup的发音和“roll up”的发音相同,后者意思是“卷起来”或者“纠结成一团”等。这个名字的含义很显然,就是“把所有依赖的JavaScript文件卷起来,整合成一个文件”。

二、Rollup函数

在Rollup中,一个简单的函数定义可以通过下面的方式进行导入和导出:

//库代码示例
export function add(a, b) {
  return a + b;
}

export function subtract(a, b) {
  return a - b;
}

//应用代码示例
import {add, subtract} from './math.js';

console.log(add(4,5));
console.log(subtract(4,5));

在这个示例中,所有导出的函数都被包含在了一个叫做“math.js”的模块文件中。main.js是一个包含了模块引用的应用文件。通过使用ES6模块语法,我们可以通过导入来访问这些函数。

三、Rollup打包忽略文件

Rollup有一个--exclude标志可以用来指定哪些文件不应该作为依赖项包含在打包文件中。这很有用,因为你可能有一些第三方代码,或者你自己的旧代码,不需要包含在打包文件中。

//忽略config.js
rollup -c --exclude config.js

四、Rollup用法

我们可以使用下面的命令安装Rollup。

// 全局安装
npm install -g rollup

// 本地安装
npm install rollup --save-dev

我们可以使用下面的命令来使用Rollup进行打包。

// 打包 main.js
rollup main.js --o bundle.js --f iife

在这个示例中,我们将会打包main.js,并将结果写入bundle.js,打包格式为iife。

五、Rollup函数的使用方法

Rollup使用JavaScript函数来定义并执行转换操作。以下是创建基本Rollup函数的示例:

// rollup.config.js示例
export default {
  //打包文件名
  output: {
    file: 'bundle.js',
    format: 'umd'
  },
  // 入口文件
  input: 'main.js'
};

在这个示例中,我们将打包结果写入bundle.js文件中,打包格式为UMD。

六、Rollup和Webpack的区别

Rollup和Webpack都是现代JavaScript模块打包工具。两者之间的主要区别在于打包方案和优化策略。WebPack更重视于构建大型的应用程序,而Rollup重视构建库和组件。

Rollup相比Webpack的优势在于:

  • 更小的体积,可以让你的应用更快的加载
  • 支持ES6模块的打包
  • 在打包库时有更好的Tree-shaking能力

七、Rollup英文文档

如果你习惯阅读英文文档,以下是Rollup官方文档的链接。

https://rollupjs.org/guide/en/

八、Rollup的优势

我们可以总结出Rollup相比其他打包工具的优势有:

  • 更小的文件体积
  • 更好的ES6模块支持
  • 支持Tree-shaking,可以剔除无用代码

九、Rollups

Rollups是Rollup的复数形式,是一个英文单词,指的是卷起、收起、捆绑的意思。

十、Rollup是什么意思

Rollup是Roll Up的谐音,中文有“将所有依赖的JavaScript文件卷起来,整合成一个文件”的意思。