gulp是前端开发过程中经常要用到的工具,非常值得花时间去掌握。利用gulp,我们可以使产品流程脚本化,节约大量的时间,有条不紊地进行业务开发。本文简单讲一下入门gulp需要掌握的东西。

安装gulp

首先,我们需要在全局安装gulp。

npm install -g gulp

然后,我们切到项目根目录,在项目中也进行gulp的安装,表明项目对gulp的依赖。

npm install --save-dev gulp

接着,我们在项目根目录里新建一个gulpfile.js文件,这个是gulp的配置文件。

使用gulp

学习gulp的使用,我们需要先学习好常用的语法。

gulp.src(globs[, options])

输出符合所匹配模式(glob)的文件。将返回一个stream,可以被piped传递到其他gulp插件中继续操作。

gulp.task(name[, deps], fn)

定义一个gulp任务,name是任务名称。[, deps]是任务依赖。fn是任务回调函数。
(1)任务依赖的形式可以是:

gulp.task('two', ['one'], function() {// 'one' 完成后
});
gulp.task('one', function(cb) {// cb();// return stream;// return promise;
});

其中one应该使用一个callback,或者返回一个promise 或stream,表明依赖的任务完成了。
(2)回调函数体会是这种形式:

gulp.src().pipe(someplugin())

gulp.dest(path[, options])

将pipe进来的stream输出文件到指定的路径下,如:

gulp.src('./client/templates/*.jade').pipe(jade()).pipe(gulp.dest('./build/templates'))

gulp.watch

gulp.watch(glob [, opts], tasks)

监视文件,并且在文件发生改动时候执行一个或者多个task。监听change事件实现。

var watcher = gulp.watch('js/**/*.js', ['uglify','reload']);
watcher.on('change', function(event) {console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});

gulp.watch(glob [, opts, cb])

监视文件,并且在文件发生改动时候执行回调函数cb。

gulp.watch('js/**/*.js', function(event) {console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});

gulp.run

gulp模块的run方法,表示要执行的任务。可能会使用单个参数的形式传递多个任务。任务是尽可能多的并行执行,并且可能不会按照指定的顺序执行。当不需要指定执行顺序时,可以适当使用。

gulp.run('task1','task2','task3');

gulp使用技巧

替代任务依赖写法

我们需要让任务有秩序地执行,那么可以使用第三方插件gulp-sequence。

// 如果使用gulp-sequence,就不需要附加任务依赖了。数组内的任务平行执行,数组外的按顺序执行。所以这里是svgstore、uglify-js并行执行,然后执行public任务。
gulp.task('sequence1', function() {sequence(['svgstore', 'uglify-js'], 'public');
});

修复gulp.watch方法只执行一次的问题

利用gulp-watch,gulp-batch两个工具,用法如下:

// 当监听到svgs目录下任意svg文件变动时,执行svgstore任务
gulp.task('watch', function() {watch('./assets/svgs/*.svg', batch(function(events, done) {gulp.start('svgstore', done);}));
});

转载于:https://www.cnblogs.com/wenbinjiang/p/11062985.html

前端自动化工具gulp入门基础相关推荐

  1. 前端构建工具gulp入门教程

    本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...

  2. 55 前端构建工具Gulp

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.第三方模块Gulp Gulp:基于node平台开发的前端构建工具. 前端构建工具:将机 ...

  3. 前端自动化工具 grunt 插件 uglify 的简单使用(一)

    Grunt 的简介: Grunt 是一套前端自动化工具,是一个基于 node.js 的命令行工具,它一般用于: 1.压缩文件: 2.合并文件: 3.简单的语法检测: 4.监听文件变动: 5.less ...

  4. gulp前端自动化工具的快速入门案例

    最近项目和工作中要开始使用自动化工具了,回想一下以前接触这个的时候就是什么nodejs,grunt之类的了,这次干脆就用一个新的,那么就是gulp... 全局下利用npm安装gulp sudo npm ...

  5. (转)Bootstrap 之 Metronic 模板的学习之路 - (7)GULP 前端自动化工具

    https://segmentfault.com/a/1190000006738327 初步了解 Metronic 的结构和应用后,我们就可以在项目中应用起来了.考虑到实际项目应用时,会有很多文件需要 ...

  6. 前端构建工具gulp之基本介绍

    1.基本介绍 gulp.js是一个自动化构建工具,是自动化项目的构建利器.可以对网站的资源进行优化,将开发过程中一些重复的任务通过执行命令自动完成.这样能很大的提高我们的工作效率. gulp.js是基 ...

  7. 前端构建工具Gulp的学习和使用

    前几天刚鼓捣了Grunt的使用,结果文档还没捂热,老大说我们还是用gulp吧,搞得我又得来整gulp,眼泪流成河了,真是不晓得底层人民的辛苦啊.不过经过对gulp的学习,发现很好用,比grunt舒服! ...

  8. 前端构建工具 Gulp.js 上手实例

    在软件开发中使用自动化构建工具的好处是显而易见的.通过工具自动化运行大量单调乏味.重复性的任务,比如图像压缩.文件合并.代码压缩.单元测试等等,可以为开发者节约大量的时间,使我们能够专注于真正重要的. ...

  9. 时下最流行前端构建工具Webpack 入门总结

    作者:wenjuanrao,腾讯 PCG 前端开发工程师 最近梳理了下以前 webpack 的相关开发经验,整理和总结了一份入门笔记,欢迎大家围观和批评指正. 随着 web 应用越来越复杂和庞大,前端 ...

最新文章

  1. 深度学习入门之PyTorch学习笔记:深度学习介绍
  2. CNN for Semantic Segmentation(语义分割,论文,代码,数据集,标注工具,blog)
  3. Java经典面试题整理及答案详解(三)
  4. 程序员:我用代码给女朋友P图
  5. 使用jMeter的csv data set config避免用户密码的硬编码
  6. 数字信号处理基础知识00
  7. Leetcode--55. 跳跃游戏
  8. Spring解决循环依赖
  9. 所有的低谷,都是为了更上一层楼
  10. 微信公众平台开发教程(二) 基本原理及消息接口
  11. 检测洛达芯片的软件_购买华强北洛达1562a的10条须知!!!快来看!!!
  12. android23是什么手机,目前 已有23款国产机可升Android8.0 你的手机厂商良心推送了没?...
  13. 大数据实战之spark安装部署
  14. HTTP报文格式详解
  15. C4D动力学边界是什么意思?
  16. linux下查java版本_linux如何检查Java版本
  17. python三维图形渲染 地图_Python地图可视化三大秘密武器
  18. PL/SQL程序基础2
  19. 宾大数学计算机本科,力压宾大,挤进全美大学排名TOP10,凭什么?
  20. MathType怎么编辑半开半闭区间

热门文章

  1. Linux日常运维(rsync通过服务连接,linux日志,screen)
  2. 断言(Assertion)需要注意的一个地方
  3. 各浏览器对focusin/focusout事件的支持差异
  4. DOS批处理高级教程精选(二)
  5. 交换机的质量害死人呀!
  6. updatedb命令
  7. SpringMVC 另一种基于xml的处理器、适配器(了解)
  8. 用emacs做笔记_3种用于记笔记的Emacs模式
  9. openstack 云_使用OpenStack打造云事业
  10. icml 2014最佳论文_2014年最佳开放硬件