var html=require("gulp-htmlmin")
var css=require("gulp-minify-css")
var jsmin=require("gulp-uglify")
//js压缩
// 1安装插件....npm install gulp-uglify --save-dev
// 2执行命令....gulp jsmin
gulp.task("jsmin",function(){gulp.src("src/shopcart.js")
.pipe(jsmin())
.pipe(gulp.dest("dist/js"))
})
// css压缩
// 1安装插件....npm install gulp-minify-css --save-dev
// 2执行命令....gulp css
gulp.task("css",function(){
var bb={
advanced: false,
//类型:Boolean 默认:true [是否开启高级优化(合并选择器等)]
compatibility: 'ie7',
//保留ie7及以下兼容写法 类型:String 默认:''or'*' [启用兼容模式;
//'ie7':IE7兼容模式,'ie8':IE8兼容模式,'*':IE9+兼容模式]
keepBreaks: true,//类型:Boolean 默认:false [是否保留换行]keepSpecialComments: '*'
//保留所有特殊前缀 当你用autoprefixer生成的浏览器前缀,
//如果不加这个参数,有可能将会删除你的部分前缀
};gulp.src("src/style.css")
.pipe(css(bb))
.pipe(gulp.dest("dist"))
})
// html压缩
// 1安装插件....npm install gulp-htmlmin --save-dev
// 2执行命令....gulp html
gulp.task("html",function(){
var options = {removeComments: true,
//清除HTML注释
collapseWhitespace: true,
//压缩HTML
collapseBooleanAttributes: true,
//省略布尔属性的值<input checked="true"/> ==> <input />
removeEmptyAttributes: true,
//删除所有空格作属性值<input id="" /> ==> <input />
removeScriptTypeAttributes: true,
//删除<script>的type="text/javascript"
removeStyleLinkTypeAttributes: true,
//删除<style>和<link>的type="text/css"
minifyJS: true,
//压缩页面JS
minifyCSS: true
//压缩页面CSS
};gulp.src("src/index.html")
.pipe(html(options))
.pipe(gulp.dest("dist"))
})
********************************************************************************************
gulp 是基于 nodeJS 的自动任务运行器 , 它能自动化的完成javascript/coffee/sass/less/html/images/css 等文件的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。gulp 和 grunt 都是自动化的工具,grunt 采取的频繁 IO 操作,相比 gulp 的流操作,gul p 能更快的更便捷的完成构建工作。