二、快速入门
1.在服务器端最容易的安装方式就是通过 npm
(node.js
的包管理器),方法如下:
$ npm install -g gulp
2.作为项目的开发依赖 (devDependencies) 安装:
$ npm install --save-dev gulp
3.在项目根目录下创建一个名为 gulpfile.js
的文件:
var gulp = require('gulp');
gulp.task('default', function() {
// 将你的默认的任务代码放在这
});
4.运行 gulp:
$ gulp
三、常用语法
1.gulp.task(name[, deps], fn)
定义一个使用 Orchestrator 实现的任务(task)。
gulp.task('somename', function() {
// 做一些事
});
name
任务的名字,如果你需要在命令行中运行你的某些任务,那么,请不要在名字中使用空格。
deps
类型: Array
一个包含任务列表的数组,这些任务会在你当前任务运行之前完成。
gulp.task('mytask', ['array', 'of', 'task', 'names'], function() {
// 做一些事
});
fn
该函数定义任务所要执行的一些操作。通常来说,它会是这种形式:gulp.src().pipe(someplugin())
。
2.gulp.src(globs[, options])
输出(Emits)符合所提供的匹配模式 (glob) 或者匹配模式的数组 (array of globs) 的文件。
将返回一个 Vinyl files 的 stream 它可以被 piped 到别的插件中。
globs
类型: String
或 Array
options
类型: Object
gulp.src('client/templates/*.jade')
.pipe(jade())
.pipe(minify())
.pipe(gulp.dest('build/minified_templates'));
3.gulp.dest(path[, options])
能被 pipe 进来,并且将会写文件。并且重新输出 (emits) 所有数据,因此你可以将它 pipe 到多个文件夹。如果某文件夹不存在,将会自动创建它。
path
类型: String
或 Function
options
类型: Object
gulp.src('./client/templates/*.jade')
.pipe(jade())
.pipe(gulp.dest('./build/templates'))
.pipe(minify())
.pipe(gulp.dest('./build/minified_templates'));
4.gulp.watch(glob[, opts, cb])
监视文件,并且可以在文件发生改动时候做一些事情。它总会返回一个 EventEmitter 来发射 (emit)
globs
类型: String
或 Array
opts
类型: Object
cb
类型: Function
每次变动需要执行的 callback。
gulp.watch('js/**/*.js', function(event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});