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 相关文章推荐
javascript 实用的文字链提示框效果
Jun 30 Javascript
jquery实现拖拽调整Div大小
Jan 30 Javascript
jquery实现无限分级横向导航菜单的方法
Mar 12 Javascript
JavaScript中的函数声明和函数表达式区别浅析
Mar 27 Javascript
jQuery实现简单二级下拉菜单
Apr 12 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
Angularjs 实现分页功能及示例代码
Sep 14 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
JS实现的A*寻路算法详解
Dec 14 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 Javascript
vue实现移动端触屏拖拽功能
Aug 21 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
php中JSON的使用与转换
2015/01/14 PHP
PHP在线书签系统分享
2016/01/04 PHP
php注册登录系统简化版
2020/12/28 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
详解Python文件修改的两种方式
2019/08/22 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
应用心理学个人的求职信
2013/12/08 职场文书
上课迟到检讨书
2014/01/19 职场文书
团结演讲稿范文
2014/05/23 职场文书
倡议书的写法
2014/08/30 职场文书
公证委托书标准格式
2014/09/11 职场文书
同意报考证明
2015/06/17 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL