gulp-htmlmin压缩html的gulp插件实例代码


Posted in Javascript onJune 06, 2016

通过一条命令用Npm安装gulp-htmlmin:

npm install gulp-htmlmin --save-dev

安装完毕后,打开gulpfile.js文件,我们里面编写一个task用来专门压缩html,并对html进行一系列的处理:

var gulp = require('gulp');
var htmlmin = require('gulp-htmlmin');
gulp.task('html',function(){
var options = {
collapseWhitespace:true,
collapseBooleanAttributes:true,
removeComments:true,
removeEmptyAttributes:true,
removeScriptTypeAttributes:true,
removeStyleLinkTypeAttributes:true,
minifyJS:true,
minifyCSS:true 
};
gulp.src('app/**/*.html')
.pipe(htmlmin(options))
.pipe(gulp.dest('dest/')); 
});

我们看到task里面有个设置选项,分别介绍一下他们的属性的作用:

1.collapseWhitespace:从字面意思应该可以看出来,清除空格,压缩html,这一条比较重要,作用比较大,引起的改变压缩量也特别大;

2.collapseBooleanAttributes:省略布尔属性的值,比如:<input checked="checked"/>,那么设置这个属性后,就会变成 <input checked/>;

3.removeComments:清除html中注释的部分,我们应该减少html页面中的注释。

4.removeEmptyAttributes:清除所有的空属性,

5.removeSciptTypeAttributes:清除所有script标签中的type="text/javascript"属性。

6.removeStyleLinkTypeAttributes:清楚所有Link标签上的type属性。

7.minifyJS:压缩html中的javascript代码。

8.minifyCSS:压缩html中的css代码。

总之,压缩Html的原则就是清除没用的代码,删除本就默认值的属性,将html压缩的最小,这样才能提高项目运行的性能。

Javascript 相关文章推荐
Prototype 学习 工具函数学习($方法)
Jul 12 Javascript
javascript对象之内置对象Math使用方法
Apr 16 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
JS JSON对象转为字符串的简单实现方法
Nov 18 Javascript
js模仿java的Map集合详解
Jan 06 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
livereload工具实现前端可视化开发【推荐】
Dec 23 Javascript
详解angularJs中自定义directive的数据交互
Jan 13 Javascript
关于angular js_$watch监控属性和对象详解
Apr 24 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
Aug 20 Javascript
angular 未登录状态拦截路由跳转的方法
Oct 09 Javascript
JavaScript this关键字指向常用情况解析
Sep 02 Javascript
node.js cookie-parser 中间件介绍
Jun 06 #Javascript
JavaScript 对象字面量讲解
Jun 06 #Javascript
省市联动效果的简单实现代码(推荐)
Jun 06 #Javascript
js获取新浪天气接口的实现代码
Jun 06 #Javascript
浅谈Sublime Text 3运行JavaScript控制台
Jun 06 #Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
Jun 06 #Javascript
浅谈String.valueOf()方法的使用
Jun 06 #Javascript
You might like
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
Yii学习总结之安装配置
2015/02/22 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python求导数的方法
2015/05/09 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
浅谈tensorflow模型保存为pb的各种姿势
2020/05/25 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
Java基础知识面试要点
2016/07/29 面试题
机械专业毕业生推荐信范文
2013/11/25 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
房地产端午节活动方案
2014/08/24 职场文书
读群众路线的心得体会
2014/09/03 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android