Rollup处理并打包JS文件项目实例代码


Posted in Javascript onMay 31, 2018

关于Rollup

rollup是一款用来es6模块打包代码的构建工具(支持css和js打包)。当我们使用ES6模块编写应用或者库时,它可以打包成一个单独文件提供浏览器和Node.js来使用。 它的优点有如下:

  1. 能组合我们的脚本文件。
  2. 移除未使用的代码(仅仅使用ES6语法中)。
  3. 在浏览器中支持使用 Node modules。
  4. 压缩文件代码使文件大小尽可能最小化。

Rollup最主要的优点是它是基于ES2015模块的,相比于webpack或Browserify所使用的CommonJS模块更加有效率,因为Rollup使用一种叫做tree-shaking的特性来移除模块中未使用的代码,这也就是说当我们引用一个库的时候,我们只用到一个库的某一段的代码的时候,它不会把所有的代码打包进来,而仅仅打包使用到的代码(webpack2.0+貌似也引入了tree-shaking)。

注意:Rollup只会在ES6模块中支持tree-shaking特性。目前按照CommonJS模块编写的jquery不能被支持tree-shaking。

Rollup的应用场景

现在目前流行的打包有 gulp 和 webpack,那么与前面两个对比,我觉得rollup更适合打包js库,但是对于打包一个项目的整个应用的话,我到觉得webpack更适合,比如打包一些图片,字体等资源文件的时候,webpack很适合。

本项目的使用方法

项目地址:GitHub

通过GitHub下载项目文件,在命令行工具定位到项目根目录,然后输入 npm install 安装模块,在输入下面其中一个命令:

1、在命令行中输入以下命令,即可监听文件变化并打包文件

npm run dev

2、在命令行中输入以下命令,即可完成打包

npm run build

总结

以上所述是小编给大家介绍的Rollup处理并打包JS文件项目实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS+CSS 制作的超级简单的下拉菜单附图
Nov 22 Javascript
js快速排序的实现代码
Dec 08 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
Node.js模拟浏览器文件上传示例
Mar 26 Javascript
JQuery中DOM事件冒泡实例分析
Jun 13 Javascript
js获取客户端操作系统类型的方法【测试可用】
May 27 Javascript
基于Vuejs实现购物车功能
Aug 02 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
Oct 13 Javascript
RGB和YUV 多媒体编程基础详细介绍
Nov 04 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
Jan 11 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
Aug 29 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 #Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 #Javascript
jQuery基于Ajax实现读取XML数据功能示例
May 31 #jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 #jQuery
vuejs实现标签选项卡动态更改css样式的方法
May 31 #Javascript
Vue组件之极简的地址选择器的实现
May 31 #Javascript
node跨域转发 express+http-proxy-middleware的使用
May 31 #Javascript
You might like
php时间函数用法分析
2016/05/28 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
JavaScript简单表格编辑功能实现方法
2015/04/16 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
Python中关键字is与==的区别简述
2014/07/31 Python
python基础教程之缩进介绍
2014/08/29 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
小小聊天室Python代码实现
2016/08/17 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
python 阶乘累加和的实例
2019/02/01 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
python检测服务器端口代码实例
2019/08/31 Python
python实现简单银行管理系统
2019/10/25 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
葡萄牙语专业个人求职信
2013/12/10 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
《美丽的田园》教学反思
2014/03/01 职场文书
安全演讲稿大全
2014/05/09 职场文书
宣传普通话标语
2014/06/27 职场文书
事业单位聘任报告
2015/03/02 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
React Fragment介绍与使用详解
2021/11/11 Javascript
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android