gulp——基于流的自动化构建工具
目录
- gulp简介
- gulp API
- gulp常用任务
- gulp的使用
4.1 gulp安装
4.2 创建gulpfile.js
4.3 运行gulp
- 延伸阅读
gulp简介
gulp.js是一个前端自动化构建工具,前端开发者可以使用它在项目开发过程中自动执行常见任务。
gulp.js是基于流(stream)操作的,直接将上一步的输出通过管道(pipe)输入到下一步,可以快速构建项目并减少频繁的IO操作。
参考:
英文官网:http://gulpjs.com/
gulp API
gulp提供4个API
- gulp.src(globs[, options])
- gulp.dest(path[, options])
- gulp.task(name [, deps] [, fn])
- gulp.watch(glob [, opts], tasks) or gulp.watch(glob [, opts, cb])
gulp常用任务
- 编译Sass\Less
- 压缩CSS
- 压缩JS
- Uglify
- JSHint
- 合并雪碧图
- 合并文件
- Autoprefixer
- LiveReload
- 编译jsx
- 清理目标文件夹文件
- ......
参考:
可在npm官网搜索各种gulp插件:https://www.npmjs.com/
按类型罗列了常用的gulp插件:https://github.com/vigetlabs/gulp-starter
gulp的使用(以编译sass文件为例)
gulp安装
全局安装
npm install -g gulp #全局安装
局部安装
npm install gulp --save-dev # 局部安装
安装gulp插件
npm install gulp-sass --save-dev
创建gulpfile.js
引入gulp及插件
var gulp = require('gulp'), //基础库
sass = require('gulp-sass'); //sass
创建任务
gulp.task('css', function () {
var cssSrc = './src/scss/*.scss',
cssDst = './dist/css';
gulp.src(cssSrc)
.pipe(sass({ style: 'expanded'}))
.pipe(gulp.dest(cssDst))
.pipe(minifycss())
.pipe(livereload(server))
.pipe(gulp.dest(cssDst));
});
监听任务
gulp.task('watch',function(){
server.listen(port, function(err){
if (err) {
return console.log(err);
}
// 监听css
gulp.watch('./src/scss/*.scss', ['css']);
});
});
执行任务
gulp.task('default', ['css']);
运行gulp
启动命令行工具,切换目录至gulpfile所在文件夹,输入gulp运行任务。
延伸阅读
- grunt、gulp、webpack对比: https://npmcompare.com/compare/browserify,grunt,gulp,webpack
- 如何在Gulp中提高Browserify的打包速度https://segmentfault.com/a/1190000004932832
- gulp配置browserify多入口文件: http://fettblog.eu/gulp-browserify-multiple-bundles/
- gulp+browerify: https://wehavefaces.net/gulp-browserify-the-gulp-y-way-bb359b3f9623#.ydz238y6u
- gulp+browerify:https://www.viget.com/articles/gulp-browserify-starter-faq
浙公网安备 33010602011771号