是否可以在监视任务中运行gulp-notify?

时间:2015-06-04 13:00:35

标签: gulp watch notify

我正在整理一个gulpfile,我想知道你是否可以将gulp-notify(或其他一些解决方案)与监视任务结合起来,以便在监视任务开始运行时弹出一条消息。我无法从我的搜索中找到任何关于如何进行此操作的内容。它甚至可能吗?

这是我的观察任务:

// Watch our files for changes
gulp.task('watch', function() {

  // -- I wanna run a notify message here saying 'Watching for changes...' -- //

  gulp.watch('assets/styles/**/*.scss', ['styles']);
  gulp.watch('assets/scripts/**/*.js', ['scripts']);
  gulp.watch('assets/images/**/*', ['images']);
});

3 个答案:

答案 0 :(得分:1)

This should do it:

gulp.task('watch', function() {
    notify("Watching for changes...").write('');

    gulp.watch('assets/styles/**/*.scss', ['styles']);
    gulp.watch('assets/scripts/**/*.js', ['scripts']);
    gulp.watch('assets/images/**/*', ['images']);
});

Also, if you meant to have a notification each time a file changes, you could do something like this:

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

    gulp.watch([
        './src/**/*.html',
        './src/**/*.php',
    ]).on('change', function () {
        browserSync.reload();
        notify("File changed: browser synced").write('');
    });
});

答案 1 :(得分:0)

我设法用gulp-notify和node-notifier做到了。 在gulp任务管道通知程序后,在回调中使用node-notifier显示弹出窗口。

var notify = require('gulp-notify');
var nodeNotifier = require('node-notifier');

gulp().src(options.src)
.pipe(gulp.dest(options.dest))
.pipe(notify(function () {
    nodeNotifier.notify({
        'title': 'App',
        'message': 'Build'
    });
}));

答案 2 :(得分:-2)

你不能只使用

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

  console.log('Watching for changes...');

  gulp.watch('assets/styles/**/*.scss', ['styles']);
  gulp.watch('assets/scripts/**/*.js', ['scripts']);
  gulp.watch('assets/images/**/*', ['images']);
});