最近才接触gulp 但是遇到一些问题:
task
src
watch
run
start
pipe
这个几个方法具体是什么意思呢,一直有些疑惑
看了一些资料,但是对一些知识点还是很模糊,请大家帮忙讲解一下,可以举个例子,万分感谢
task
gulp.task('somename', function() {
// Do stuff
});
这样一段东西,就叫一个
task
(任务)。可以在里面指定一系列操作,譬如:写一个copy
任务,目标是把a
、b
两个目录下的文件拷贝到c
目录下。
src
既然每个任务都是针对一些文件作操作,那么如何选中这些文件?就要用到src
了,如下:
gulp.src('client/templates/*.jade')
...
...;
选中了
client/templates/
目录下的所有jade
文件,至于通配符*
是怎么被识别的,可以看glob-syntax
watch
还是和上面一样,既然任务都是对文件的操作,那么肯定有一种情况是希望当文件改变时(可能你改代码了),就自动触发一个任务。譬如:自动编译less
到css
,可以这样用:
gulp.watch('less/*.less', function(event) {
//自动编译修改了的less文件到目标目录
gulp.src(event.path)
.pipe(less())
.pipe(gulp.dest('生成目录'));
});
run
通常我们使用任务是在命令行里通过gulp 任务名
来完成的,但有时候也需要在代码里直接启动一个任务,就可以用gulp.run(任务名)
来执行指定的任务。
这个我记不清了,官网文档也找不到这个API了,应该是已经废弃了
start
start
应该是内部方法,我总觉得你不该直接调用
pipe
管道是流式编码的精髓,和gulp
本身没多大关系,不过是gulp
支持流式书写而已。详情看:pipe