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 全角转半角部分
Oct 28 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
基于Jquery的开发个代阴影的对话框效果代码
Jul 28 Javascript
Javascript 面向对象(三)接口代码
May 23 Javascript
JS对文本框值的判断示例
Mar 10 Javascript
jQuery焦点图轮播特效代码分享(3款)
Sep 05 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
Mar 02 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
Aug 27 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 Javascript
es6函数name属性功能与用法实例分析
Apr 18 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
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
php中opendir函数用法实例
2014/11/15 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
jQuery validate插件功能与用法详解
2016/12/15 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
Python 正则表达式的高级用法
2016/12/04 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
公司人力资源的自我评价
2014/01/02 职场文书
物理研修随笔感言
2014/02/14 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
狂人日记读书笔记
2015/06/30 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js