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动态创建div
Sep 25 Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 Javascript
简单实例处理url特殊符号&处理(2种方法)
Apr 02 Javascript
禁止拷贝网页内容的js代码
Jan 22 Javascript
JavaScript中的值类型详细介绍
Dec 29 Javascript
jQuery性能优化技巧分析
Feb 20 Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 Javascript
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
详解通过源码解析Node.js中cluster模块的主要功能实现
May 16 Javascript
JavaScript反射与依赖注入实例详解
May 29 Javascript
微信小程序实现星星评价效果
Nov 02 Javascript
Javascript节流函数throttle和防抖函数debounce
Dec 03 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
怎样辨别一杯好咖啡
2021/03/03 新手入门
php接口和抽象类使用示例详解
2014/03/02 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
php中关于换行的实例写法
2019/09/26 PHP
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
深入浅出了解Node.js Streams
2019/05/27 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
python paramiko模块学习分享
2017/08/23 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Python多线程thread及模块使用实例
2020/04/28 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
HTML5注册页面示例代码
2014/03/27 HTML / CSS
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
实习生个人的自我评价
2013/12/08 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
母亲节感恩寄语
2014/02/21 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
教师年度考核个人总结
2015/02/12 职场文书
夫妻吵架保证书
2015/05/08 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技