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 相关文章推荐
select 控制网页内容隐藏于显示的实现代码
May 25 Javascript
关于图片的预加载过程中隐藏未知的
Dec 19 Javascript
原生js操作checkbox用document.getElementById实现
Oct 12 Javascript
瀑布流布局代码一例
Apr 11 Javascript
js生成的验证码的实现与技术分析
Sep 17 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
Oct 27 Javascript
JQuery 又谈ajax局部刷新
Nov 27 jQuery
html中通过JS获取JSON数据并加载的方法
Nov 30 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
javascript将扁平的数据转为树形结构的高效率算法
Feb 27 Javascript
JS 创建对象的模式实例小结
Apr 28 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使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
js星星评分效果
2014/07/24 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
js获取内联样式的方法
2015/01/27 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
python获取交互式ssh shell的方法
2019/02/14 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
简单分析python的类变量、实例变量
2019/08/23 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
公司成立感言
2014/01/11 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
工地质量标语
2014/06/12 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
爱情保证书
2015/01/17 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书