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中Array 对象相关的几个方法
Dec 22 Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
May 17 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
Jun 11 Javascript
删除条目时弹出的确认对话框
Jun 05 Javascript
jQuery基于ID调用指定iframe页面内的方法
Jul 06 Javascript
laydate.js日期时间选择插件
Jan 04 Javascript
原生JS实现不断变化的标签
May 22 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
vue组件之间的数据传递方法详解
Apr 19 Javascript
详解关于webpack多入口热加载很慢的原因
Apr 24 Javascript
vue实现井字棋游戏
Sep 29 Javascript
React 高阶组件HOC用法归纳
Jun 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
php+dbfile开发小型留言本
2006/10/09 PHP
php 向访客和爬虫显示不同的内容
2009/11/09 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
深入学习Python中的装饰器使用
2016/06/20 Python
python删除服务器文件代码示例
2018/02/09 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
详解django中使用定时任务的方法
2018/09/27 Python
python 字典访问的三种方法小结
2019/12/05 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
什么是属性访问器
2015/10/26 面试题
紧急通知
2015/04/17 职场文书