gulp.watch的两种使用方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gulp.watch的两种使用方法相关的知识,希望对你有一定的参考价值。
参考技术A gulp.watch用于监听文件变化,以触发任务。通常把gulp.watch自身也写成一个任务。常规写法类似于 gulp.watch('*.scss', ['task-sass']); ,也就是任务列表的写法。
命令行输入 gulp watch-scss 即可。
如果想写回调,需要另行写回调函数 watcher.on('change', function(event) ) 。
回调函数会被传入一个名为 event 的对象,这个对象描述了所监控到的变动:
event.type
类型: String
发生的变动的类型:added, changed 或者 deleted。
event.path
类型: String
触发了该事件的文件的路径。
回调函数式写法如下,也就是放弃任务列表,直接写回调函数:
总结:
不需要执行任务列表,只想写一个回调的,就用watch()回调函数式写法,想执行任务列表,就用任务列表式写法。
gulp gulp-watch不起作用
我尝试下面的代码。
var gulp = require("gulp");
var ps = require('child_process').exec;
var watch = require('gulp-watch');
gulp.task('exec_file', function() {
var command = "/mnt/c/pg/expect/folder_sync";
ps(command , function (err, stdout, stderr) {
console.log(stdout);
});
});
gulp.task("watch", function() {
var targets = [
'./**'
];
return watch(targets, ['exec_file']);
});
但是代码出错了。
我该怎么办?
答案
在手表内部,您必须告知Gulp要开始的任务。
替换以下行:
return watch(targets, ['exec_file']);
有了这个:
watch(targets, function(){
gulp.start('exec_file');
})
或者用这个:
watch(targets).on('change', function(){ gulp.start('exec_file')});
P.S我不确定你是否必须退货。
以上是关于gulp.watch的两种使用方法的主要内容,如果未能解决你的问题,请参考以下文章