Search code examples
gulpgulp-watch

gulp gulp-watch don't work


I try following code.

  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']);
  });

However the code make a error.

What should I do?


Solution

  • Inside of the watch, you have to inform Gulp which task to start.

    Replace the following line:

    return watch(targets, ['exec_file']);

    with this:

    watch(targets, function(){ gulp.start('exec_file'); })

    or with this:

    watch(targets).on('change', function(){ gulp.start('exec_file')});

    P.S I'm not sure if you have to return anything.