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文件卷起来,整合成一个文件”的意思。