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 相关文章推荐
用jquery ajax获取网站Alexa排名的代码
Dec 12 Javascript
单击复制文字兼容各浏览器的完美解决方案
Jul 04 Javascript
js中split函数的使用方法说明
Dec 26 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 Javascript
Vue之mixin全局的用法详解
Aug 22 Javascript
vue插槽slot的理解和使用方法
Apr 03 Javascript
vue 组件内获取actions的response方式
Nov 08 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
Feb 09 Javascript
vue 中的动态传参和query传参操作
Nov 09 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
星际争霸任务指南——神族
2020/03/04 星际争霸
15种PHP Encoder的比较
2007/04/17 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
php输出xml属性的方法
2015/03/19 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
google地图的路线实现代码
2009/08/20 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python底层封装实现方法详解
2020/01/22 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
我的大学生活演讲稿
2014/04/25 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
三下乡活动心得体会
2016/01/23 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
python如何为list实现find方法
2022/05/30 Python