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 相关文章推荐
jQuery-serialize()输出序列化form表单值的方法
Dec 26 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
ES6 Promise对象概念与用法分析
Apr 01 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
Jun 03 Javascript
webpack下实现动态引入文件方法
Feb 22 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
Sep 01 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
Sep 25 Javascript
vue mounted 调用两次的完美解决办法
Oct 29 Javascript
js中console在一行内打印字符串和对象的方法
Sep 10 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
ES6函数实现排它两种写法解析
May 13 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
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
xml转json的js代码
2012/08/28 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
Bootstrap入门教程一Hello Bootstrap初识
2017/03/02 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
校园文化建设方案
2014/02/03 职场文书
师范毕业生求职信
2014/07/11 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
争先创优心得体会
2014/09/12 职场文书
2014年文员工作总结
2014/11/18 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS