我正在使用Gulp来观看文件,通过ftp上传更改文件,并在上传完成后发送通知。我不确定如何连接这些插件以使其工作。现在我有:
var gulp = require('gulp'),
ftp = require('gulp-ftp'),
watch = require('gulp-watch'),
notify = require('gulp-notify');
var markupWatcher = watch({ glob: 'src/*.php', name: 'markup' });
markupWatcher.gaze.on('all', function(event, path) {
options.remotePath = ftpData.remotePath;
gulp.src(path)
.pipe(ftp(options))
.on('finish', function() {
console.log('test');
notify({title: 'File Uploaded', message: 'test'});
});
我认为通知需要传递给.pipe()
,但我不知道如何在此上下文中执行此操作(在.on()
的回调中)。 “test”打印在控制台上,但通知是静默的。
这似乎是一项简单的任务,但对Node不熟悉会让Gulp变得困难。
感谢您的任何建议。
答案 0 :(得分:3)
我认为您可能希望直接使用node-notifier,因为您需要通知除了流data
事件以外的事件:
var gulp = require('gulp'),
ftp = require('gulp-ftp'),
watch = require('gulp-watch'),
Notification = require('node-notifier');
var notifier = new Notification();
var markupWatcher = watch({ glob: 'src/*.php', name: 'markup' });
markupWatcher.gaze.on('all', function(event, path) {
options.remotePath = ftpData.remotePath;
gulp.src(path)
.pipe(ftp(options))
.on('finish', function() {
console.log('test');
notifier.notify({title: 'File Uploaded', message: 'test'});
});