gulp的入门浅析
介绍gulp
gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。
安装gulp
因为gulp是基于Nodejs的,故而安装gulp,使用的也是npm。
命令窗口输入:npm install gulp,若要全局 npm install -g gulp,若要存到package.json npm install --save-dev gulp
gulpfile.js
gulpfile.js是它的配置文件。

其中结果如下:
---------》 
运行gulp
命令窗口执行gulp 任务名称;
编译watch:命令窗口执行gulp watch;

当执行gulp将会调用default任务里的所有任务,例如 gulp.task('default', ['handleCSS', 'watch']);

介绍gulp的api
使用gulp时,只要知道4个API就ok:gulp.task(),gulp.src(),gulp.dest(),gulp.watch(),下面也只是浅析,详细请看gulp中文网或者官方文档。
1、gulp.task(name[, deps], fn)
gulpfile.js上基本是由无数个task组成的,task顾名思义是gulp用来定义任务的。
其中三个参数分别:name-任务名称(必填)、deps-依赖的任务(可不填)、fn-回调函数
gulp.task('handleCSS', ['testCss'], function () { //执行完testCss任务后再执行handleCSS任务
gulp.src(['css/*.css'])
.pipe(sass())
.pipe(gulp.dest('./dist/css'));
});
2、gulp.src(globs[, options])
globs: 需要处理的源文件匹配符路径,想更加了解可以去看下:node-globs,就能掌握gulp.src的精髓。我感觉就是将你想要的文件”吸”到”管道”中,然后pipe处理下去。
foo.js指明特定某个文件*.js匹配当前目录下的所有js文件,不指名扩展名则匹配所有类型*/*.js匹配所有第一层子文件夹的js文件,第二层请用*/*/.js**/*.js匹配所有文件夹层次下的js文件, 包括当前目录
因为有这么多种匹配格式,也要注意系统“最大读取文件数“,它会限制gulp的执行。
gulp的过程其实就是从src到dest,gulp.src接到文件流时,经过中间gulp插件一系列的处理,File一直pipe下去, 直到dest写入文件,就是完整的src到dest的过程。
3、gulp.dest(path[,options])
用来操作文件的。
其中三个参数分别:path-写入文件的路径(必填)、options-参数对象(可不填)
4、gulp.watch(glob [, opts], tasks)
这个是用来监听文件变化的。
三个参数:glob跟src中的一样(文件匹配模式、必填),opts(可不填,很少用),tasks是监听后的回调函数

例如这个,监听html变化后,打印了这句话出来。
也有这样写:gulp.watch(['src/css/*.scss'], ['handleCSS']); 其效果都一样。
gulp的入门浅析的更多相关文章
- gulp详细入门教程
本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...
- 【原】gulp快速入门
今天刚入职了一家新公司,结果明天就要开始项目了.上级说要用gulp来打包代码,所以今晚花了一晚来看这个gulp, 可以说已经入门了.所以做一个小小的总结 : 首先全局安装gulp npm instal ...
- gulp详细入门教程(转载)
本文转载自: gulp详细入门教程
- gulp快速入门
gulp快速入门 因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话如果真是要完整打包上线也不在乎那么几秒时间,对于项目 ...
- gulp快速入门&初体验
前言 一句话先 gulp 是一个可以简单和自动化"管理"前端文件的构建工具 先说我以前的主要工作,我主要是做游戏服务端的,用c++/python,所以我对东西的概念理解难免要套到自 ...
- gulp的使用以及Gulp新手入门教程
Gulp新手入门教程 原文 http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...
- Gulp新手入门教程
Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭建web服务器 文件保存时自动重载浏览器 使用预处理器如Sass.LESS 优化资源,比如压缩CSS.JavaScript.压缩图片 ...
- JS那些事儿——Gulp的入门使用
前言 新人使用gulp的一个记录. 首先对于第一个新事物,我会问gulp这是什么? 答:gulp是一个自动化构建工具,它可以做一些自动化的任务,比如: 检查Javascript 编译Sass(或Les ...
- 前端打包构建工具gulp快速入门
因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话确实是个问题,尤其项目大了以后,目前位置遇到的项目都还可以忍受.不过不 ...
随机推荐
- [bzoj4765]普通计算姬——分块
Brief Description 给定一棵n个节点的带权树,节点编号为1到n,以root为根,设sum[p]表示以点p为根的这棵子树中所有节点的权 值和.支持下列两种操作: 1 给定两个整数u,v, ...
- 用 C# 代码如何实现让你的电脑关机,重启,注销,锁定,休眠,睡眠
简介 本文讲述了用 C# 代码如何实现让你的电脑关机,重启,注销,锁定,休眠,睡眠. 如何实现 首先,使用 using 语句添加我们需要的命名空间: using System.Diagnostics; ...
- AtCoder Regular Contest 092 C D E F
C - 2D Plane 2N Points 题意 二维平面上有\(N\)个红点,\(N\)个蓝点,一个红点和一个蓝点能配成一对当且仅当\(x_r<x_b\)且\(y_r<y_b\). 问 ...
- Ubuntu破解开机密码
使用Ubuntu和使用windows系列产品一样,会忘记开机密码.难道我们在忘记开机密码的时候就必须重装系统吗?当然不是了!既然在windows下面我们可以破解开机密码,那么在Ubuntu里面一样可行 ...
- Linux-进程间通信(一): 管道
1. 管道局限性: (1) 半双工:(若模拟全双工,可以使用两个管道,即,proc1-->proc2一条管道,proc2-->proc1一条管道) (2) 只能在具有公共祖先的进程之间使用 ...
- mybatis generator 生成javabean自定义类型转换
因为默认mybatis generator自动生成的,带小数的都转成了bigdecimal了,而且长度不同的整数转成了不同的类型. 但是我想要带小数的转成double,整数转成integer. 所有自 ...
- 【 Nginx 】proxy_cache 模块的使用记录
部署环境:nginx + tomcat 同一台服务器. 通过nginx反向代理tomcat. 配置如下: user www www; worker_processes auto; error_log ...
- 存储过程 ----- navicat 创建存储过程
以下为navicat 创建存储过程步骤图解: 1. 2. 3. 4. 在存储过程正文中是输入一行语句测试用,点击保存 5.输入存储过程名称,点击确定 6.到这来那么问题来了,会提示错误 7.切记存储过 ...
- 【计算机网络】http状态码
100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息. 400-499 用于指出客户端的错 ...
- selenium 找不到元素 (显式等待 和隐式等待的区别)
selenium自动化页面元素不存在异常发生的原因有一下几点: (1)页面加载时间过慢,需要查找的元素程序已经完成但是页面还未加载成功.此时可以加载页面等待时间. (2)查到的元素没有在当前的ifra ...