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 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
javascript 限制输入脚本大全
Nov 03 Javascript
jquery ready函数源代码研究
Dec 06 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
jQuery选择器源码解读(一):Sizzle方法
Mar 31 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
怎么引入(调用)一个JS文件
May 26 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
vue表单自定义校验规则介绍
Aug 28 Javascript
vue实现的组件兄弟间通信功能示例
Dec 04 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
Jul 19 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
javascript学习网址备忘
2007/05/29 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
详细介绍Python的鸭子类型
2016/09/12 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
简单了解python的break、continue、pass
2019/07/08 Python
简单了解django orm中介模型
2019/07/30 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
女性时尚在线:IVRose
2019/02/23 全球购物
井冈山红色之旅心得体会
2014/10/07 职场文书
师德师风自查总结
2014/10/14 职场文书
会计工作总结范文2014
2014/12/23 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
创业计划书之干洗店
2019/09/10 职场文书
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
JavaScript前端面试组合函数
2022/06/21 Javascript