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实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
js控制页面控件隐藏显示的两种方法介绍
Oct 09 Javascript
解析URI与URL之间的区别与联系
Nov 22 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
基于JavaScript实现简单的随机抽奖小程序
Jan 05 Javascript
简单实现js倒计时功能
Feb 13 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 Javascript
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 Javascript
关于uniApp editor微信滑动问题
Jan 15 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中的时间处理
2006/10/09 PHP
php生成缩略图的类代码
2008/10/02 PHP
PHP Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
python匿名函数的使用方法解析
2019/10/10 Python
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
优秀毕业大学生推荐信
2013/11/13 职场文书
测试工程师岗位职责
2013/11/28 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
党员群众路线对照检查材料
2014/08/31 职场文书
采购内勤岗位职责
2015/04/13 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
MySQL数据库必备之条件查询语句
2021/10/15 MySQL
MySQL 原理与优化之Update 优化
2022/08/14 MySQL