10min带你快速入门Rollup的基础使用

简介: 【8月更文挑战第5天】10min带你快速入门Rollup的基础使用

Rollup的基础使用

Rollup 简介

Rollup 是一个 Js打包工具,和webpack不同,它只能打包基于ES6模块标准的代码。这意味着,它自身不能打包CommonJs规范的JS代码、不支持import aixos from “axios”这样的外部模块引入、不支持打包css、img等其他资源;这些功能的实现都需要借助Rollup 插件。

当然,它编译出来的代码可读性非常好。

构建"App应用"时,webpack比较合适,如果是"类库(纯js项目)",rollup更加适合。>

Rollup 打包初体验

使用Rollup 打包一个项目很容易,我们先创建并初始化一个项目,然后安装rollup。

mkdir rollup
cd rollup
npm init -y
npm i rollup -g

我们创建src目录,目录内创建两个文件,用来演示打包
image.png
使用 rollup [入口文件目录] 命令指定入口文件即可打包js代码
GIF 2022-12-26 17-01-48.gif
命令行打印出了打包后的代码,十分简洁!!!但,项目里并没有打包好的文件,我们需要指定输出文件名

rollup ./src/index.js --file ./dist/main.js

GIF 2022-12-26 17-03-41.gif
仔细观察打包后的代码

const log = function (msg){
   
   
  console.log(msg);
};
log("石小石的rollup学习");

我们在log.js里导出了log方法和error方法,由于error方法没有使用,打包的时候自动帮我们去掉了。这是rollup的Tree-Shaking。

总结:

  • 入口文件参数指定: rollup ./src/index.js
  • 打包输出需要指定文件名: rollup ./src/index.js --file ./src/main.js

Rollup的配置文件说明

配置文件的使用

Rollup 的配置文件并不是必须的,但是配置文件非常强大而且很方便!!
配置文件是一个 ES 模块,它对外导出一个对象,这个对象配置(默认文件名为:rollup.config.js)大概长这个样子:

export default {
   
   
  input: 'src/index.js',
  output: {
   
   
    file: 'bundle.js',
  }
};

如果想使用配置文件,必须要给指定加上 --config 或 -c

将自定义配置文件的路径传给 Rollup:
rollup --config my.config.js
如果你不传文件名, Rollup 将会尝试按照以下顺序加载配置文件:
rollup.config.mjs -> rollup.config.cjs -> rollup.config.js

我们创建一个配置文件,使用rollup -c打包命令试试
GIF 2022-12-26 17-24-32.gif
直接打包,会报错。提示:我们正在加载一个ES module,需要在在packge.json内加入type:module,或者把文件格式改为“mjs”
image.png
我们在package.json中type:module,重新打包试试
GIF 2022-12-26 17-27-47.gif

基础配置参数说明

在上面的示例中,我们知道了两个基本配置项,inputoutput。

input

input用来配置入口文件,类型为表示入口文件的一个字符串,如:src/index.js

output

output用来设置打包后的代码输出配置,主要包含file配置和format配置。

file输出目录

此选项用来更改输出文件名称即目录。如示例,我们指定bundle.js,在根目录输出了这个打包文件。
如果我们这么设置

output: {
   
   
    file: 'dist/main.js',
}

打包出来则是这个样子
image.png

format打包格式简介

output的format属性用来指定打包出来的代码格式。它有以下几种可配置格式

  • amd - 异步模块定义,适用于 RequireJS 等模块加载器
  • cjs - CommonJS,适用于 Node 环境和其他打包工具(别名:commonjs)
  • es - 打包为 ES 模块文件,format默认值。适用于其他打包工具以及支持
相关文章
|
6月前
|
前端开发 JavaScript
前端 TS 快速入门之四:函数
前端 TS 快速入门之四:函数
35 0
|
6月前
|
JSON 前端开发 JavaScript
深入了解rollup(四)插件开发示例
Rollup是一个JavaScript模块打包器,它可以将多个模块打包成一个单独的文件,以便在浏览器中使用。与其他打包工具相比,Rollup的主要优势在于它可以生成更小、更快的代码。在本文中,我们将深入了解Rollup的插件开发。
86 1
|
6月前
|
缓存 前端开发 JavaScript
深入了解rollup(三)插件机制
Rollup 插件是一个对象,具有属性]、构建钩子 和 输出生成钩子 中的一个或多个,并遵循我们的约定。插件应作为一个导出一个函数的包进行发布,该函数可以使用插件特定的选项进行调用并返回此类对象。 插件允许你通过例如在打包之前进行转译代码或在node_modules文件夹中查找第三方模块来自定义 Rollup 的行为。
136 1
|
JavaScript 前端开发 API
Vite 是如何使用 Rollup 进行构建的
Vite 是如何使用 Rollup 进行构建的
330 0
|
JavaScript 前端开发 算法
rollup 是什么?如何使用?
继 Webpack、Vite 等前端工具链系列的了解之后,又碰到了 Rollup,我之前对 Rollup 的了解仅停留在 Vite 打包时使用、组里的大佬使用 Rollup 写过一个静态官网页面,为了
|
前端开发
前端学习笔记202304学习笔记第十五天-vue3.0-实现min最小值的处理
前端学习笔记202304学习笔记第十五天-vue3.0-实现min最小值的处理
54 0
|
前端开发
前端学习笔记202304学习笔记第十五天-vue3.0-es-counter数量给es-goods组件
前端学习笔记202304学习笔记第十五天-vue3.0-es-counter数量给es-goods组件
46 0
|
JSON 前端开发 JavaScript
基于rollup打造组件库,你可能会用到这些插件
最近在重复赵轮子,用rollup搞一个react 组件库,今天就简单整理下用到的插件。 简单来说插件就是能力者,帮助你完成某事,相信大家都用过webpack构建项目,我们会用到各种plugin和loader来帮我们处理js、css、图片、压缩代码等,那么在rollup里想要完成某事,也同样需要对应的plugin来完成,而且rollup的配置会更加简单。
955 1
基于rollup打造组件库,你可能会用到这些插件
实战 rollup 第一节, 入门
rollup 是啥,咋不过多介绍,这里记录一下自己在看rollup文档和相关资料,然后手动来敲一些代码,并且以博客的形式输入,加深自己的理解
实战 rollup 第一节, 入门
|
Web App开发 编解码 自然语言处理
rollup 实战第二节 搭建开发环境
在上一篇博客中,我简单的描述了 rollup 怎么使用,配置文件的使用。这一篇,来一起学习一下 rollup 怎么搭建开发服务,这里不包含任何的框架代码,我们需要 实现的是 ,我 在代码中修改任何地方,rollup可以自己监听到,并且给我给我更新浏览器就行。 这里的代码包括 css, 以及js等。
rollup 实战第二节 搭建开发环境