gulp学习之察言观色watch函数

gulp.watch函数是用来监听文件的变化,当文件发生变化以后,可以通过回调函数或者指定的任务执行相应的内容。

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

glob的用法和src中的参数glob的用法相同。可以参考src中的用法

opts这个参数不常用,这里略过不题。

tasks 监听到文件变化以后执行的任务

var gulp = require('gulp');

gulp.task('onmpw',function(){

console.log('onmpw');

})

gulp.task('jiyi',function(){

console.log('jiyi');

})

gulp.watch('lib/onmpw.js', ['onmpw','jiyi']);

当lib目录下的onmpw.js文件发生变化就会执行onmpw和jiyi两个任务。执行完成以后继续监听lib目录下的onmpw.js文件。

上面是使用tasks方式,还可以使用回调函数的方式

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

例如

var gulp = require('gulp');

gulp.watch('lib/onmpw.js', function(e){

console.log(e.type);

});

当lib/onmpw.js文件有变化时执行回调函数。e.type的类型有增加,删除和修改。也就是说除了修改onmpw.js文件,当删除或者增加lib/onmpw.js时也会触发回调函数。同时会在回调函数中打印出类型。

Starting 'watch'...

Finished 'watch' after 14 ms

changed

deleted

当我修改lib/onmpw.js,或者删除该文件以后会显示上面的结果。当再次新建onmpw.js文件以后,就会再次出现下面的结果。

Starting 'watch'...

Finished 'watch' after 14 ms

changed

deleted

added

但是当我们删除了这个文件,那watch监听的文件就消失了。所以当前的监听任务也就成了一个僵尸任务。除非我们再次新建这个文件,如果不新建是不是就需要将这个监听任务终止掉。

gulp.task('watch',function(){

    gulp.watch('lib/onmpw.js',function(e){

        if(e.type == 'deleted'){

            process.exit(0);

        }

    })

})

执行上面的程序,当lib/onmpw.js文件被删除了以后,该监听任务就相应的退出了。

以上就是gulp.watch的用法。

本文转载自:迹忆客(https://www.jiyik.com)

以上是 gulp学习之察言观色watch函数 的全部内容, 来源链接: utcz.com/z/290146.html

回到顶部