2015-06-04 71 views
0

我正在拼湊一個大文件,我想知道是否可以將gulp-notify(或其他解決方案)與watch任務結合起來,以便在watch任務開始運行時彈出一條消息。我無法從我的搜索中找到任何關於如何執行此操作的信息。它甚至有可能嗎?是否有可能在watch任務中運行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']); 
}); 

回答

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

那倒只是將它打印到控制檯上,因爲我不想在那裏查看它何時開始,所以它沒有任何用處。 – Chrillewoodz

0

我設法做它吞掉,通知和節點通知。 在完成任務之後,管道通知程序和回調中使用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' 
    }); 
})); 
1

這應做到:

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

此外,如果你的意思是,每次有一個通知文件更改,你可以做這樣的事情:

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

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