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 Template对象 学习
Jul 19 Javascript
JS实现商品倒计时实现代码
May 03 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
Jan 06 Javascript
JavaScript实现自动消除按钮功能的方法
Aug 05 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
Nov 09 Javascript
jQuery内容筛选选择器实例代码
Feb 06 Javascript
微信小程序 详解页面跳转与返回并回传数据
Feb 13 Javascript
基于JS实现带动画效果的流程进度条
Jun 01 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
Jan 21 Javascript
JS前端宏任务微任务及Event Loop使用详解
Jul 23 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/07/01 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
法国在线药房:DoctiPharma
2020/10/21 全球购物
上海期货面试题
2014/01/31 面试题
机电专业毕业生推荐信
2013/11/10 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
个人欠条范本
2015/07/03 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js