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 相关文章推荐
用ADODB.Stream转换
Jan 22 Javascript
JQuery学习笔录 简单的JQuery
Apr 09 Javascript
Javascript中的delete操作符详细介绍
Jun 06 Javascript
js中实现多态采用和继承类似的方法
Aug 22 Javascript
AngularJS动态生成div的ID源码解析
Aug 29 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
Sep 06 Javascript
Javascript 实现匿名递归的实例代码
May 25 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 jQuery
原生JS封装animate运动框架的实例
Oct 12 Javascript
使用Angular CLI生成 Angular 5项目教程详解
Mar 18 Javascript
小程序开发基础之view视图容器
Aug 21 Javascript
20个必会的JavaScript面试题(小结)
Jul 02 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 面向对象的一个例子
2011/04/12 PHP
php遍历数组的方法分享
2012/03/22 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
Python中的并发编程实例
2014/07/07 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
集体婚礼策划方案
2014/02/22 职场文书
《秋游》教学反思
2014/04/24 职场文书
十八大标语口号
2014/10/09 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
个人求职信格式范文
2015/03/20 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库