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 相关文章推荐
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
Jul 04 Javascript
JS实现侧悬浮浮动实例代码
Nov 29 Javascript
使用js实现数据格式化
Dec 03 Javascript
js拖拽的原型声明和用法总结
Apr 04 Javascript
jquery遍历table的tr获取td的值实现方法
May 19 Javascript
深入理解js数组的sort排序
May 28 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
JS实现网页抢购功能(触发,终止脚本)
Nov 27 Javascript
在Vue中使用echarts的方法
Feb 05 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定时计划任务的实现方法详解
2013/06/06 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
干货!教大家如何选择Vue和React
2017/03/13 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
python地震数据可视化详解
2019/06/18 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
应届生骨科医生求职信
2013/10/31 职场文书
大学生毕业自我鉴定范文
2013/11/03 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
企业管理标语
2014/06/10 职场文书
毕业生面试求职信
2014/06/23 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
出国留学自荐信模板
2015/03/06 职场文书
学校财务管理制度
2015/08/04 职场文书
清明节随笔
2015/08/15 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL