1.简介
gulp 是一种前端自动化构建工具,旨在优化前端工作流程。它的定位就是 Task Runner, 用来跑一个一个任务的,我们通过配置一系列的task,定义task处理的任务(如文件压缩合并、sass编译等),然后定义执行顺序,让gulp执行这些task,从而构建项目的整个前端开发流程。
2.常用命令
gulp-task 建立任务
gulp-src 匹配一个或多个文件
pipe 将匹配到的文件导入到相应插件中
gulp-dest 设定目的路径,写文件
gulp-watch 监视文件变化
3.一般使用流程
- 通过gulp-src()获取到想要处理的文件流
- 把文件流通过pipe方法导入到gulp的插件中
- 把经过插件处理后的流再通过pipe方法导入到gulp.dest()中
- gulp.dest() 则把流中的内容写入到文件中
var jsInput = 'src/js/**/*.js';
var jsOutput = 'dist/js';
gulp.task('sass', function () {
return gulp.src(cssInput)
.pipe(plumber(plumberOptions))
.pipe(cached('sass'))
.pipe(gulp.dest(cssOutput))
.pipe(livereload());
});
4.常用插件
- less/sass的编译(gulp-less/gulp-sass)
- 自动添加css前缀(gulp-autoprefixer)
- 压缩css文件(gulp-clean-css)
- 压缩js代码(gulp-uglify)
- 压缩html文件(gulp-minify-html)
- 压缩图片(gulp-imagemin)——–png图片压缩插件imagemin-pngquant
- 图片转换为base64-encoded (gulp-img64)
- js代码校验(gulp-jshint)
- 合并js文件(gulp-concat)
- 自动刷新页面 (gulp-livereload)
- 重命名(gulp-rename)
- 自动加载插件(gulp-load-plugins)
- 更改提醒(gulp-notify)
- 图片缓存,只有图片替换了才压缩(gulp-cache)
- 过滤变动的文件(gulp-changed)
- 阻止 gulp 插件发生错误导致进程退出并输出错误日志(gulp-plumber)
5.Gulp用到的glob的匹配规则以及一些文件匹配技巧
详情可参考前端构建工具gulpjs的使用介绍及技巧