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中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
jquery弹出框的用法示例(2)
Aug 26 Javascript
Javascript基础教程之if条件语句
Jan 18 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
Aug 12 Javascript
Javascript实现跑马灯效果的简单实例
May 31 Javascript
js操作XML文件的实现方法兼容IE与FireFox
Jun 25 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
Jul 26 Javascript
微信小程序 Toast自定义实例详解
Jan 20 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
VUE-cli3使用 svg-sprite-loader
Oct 20 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
原生js生成图片验证码
Oct 11 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中变量引用与变量销毁机制分析
2014/11/15 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
基于JQuery的密码强度验证代码
2010/03/01 Javascript
google 搜索框添加关键字实现代码
2010/04/24 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
百度地图api如何使用
2015/08/03 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
Django 再谈一谈json序列化
2020/03/16 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
通过代码实例了解Python异常本质
2020/09/16 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
Java模拟试题
2014/11/10 面试题
后勤主管工作职责
2013/12/07 职场文书
护理专业学生的求职信范文
2013/12/11 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
课外访万家心得体会
2014/09/03 职场文书
运动会闭幕词
2015/01/28 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
现实表现证明材料
2015/06/19 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL