2015-04-21 61 views
0

我有以下gulpfilegulp.watch沒有趕上新文件

var gulp = require('gulp'); 
var clean = require('gulp-clean'); 
var rename = require('gulp-rename'); 
var coffee = require('gulp-coffee'); 
var cache = require('gulp-cached'); 
var path = require('path'); 

var dist = './Test/public/'; 
var assets = './Test/assets/'; 

var paths = { 
    coffee: ['./**/*.coffee'] 
}; 

var coffeeTask = function() { 
     console.log('coffeeTask'); 
     return gulp.src(paths.coffee, { cwd: assets + '**' }) 
      .pipe(cache('coffee')) 
      .pipe(coffee({ bare: true })) 
      .pipe(rename({ 
       extname: ".coffee.js" 
      })) 
      .pipe(gulp.dest(dist)); 
}; 

gulp.task('clean', function() { 
    return gulp.src(dist) 
     .pipe(clean()); 
}); 

gulp.task('coffee', ['clean'], coffeeTask); 
gulp.task('coffee-watch', coffeeTask); 

gulp.task('build', ['clean', 'coffee']); 

gulp.task('watch', ['build'], function() { 
    var w = gulp.watch(paths.coffee, ['coffee-watch']); 
    w.on('change', function(evt) { 
     console.log(evt); 
    }); 
}); 

gulp.task('default', ['build']); 

這種配置的關鍵是使用相同的任務部署和觀看過程(讀「構建」和「看」任務)。

問題是,watch任務不會捕獲任何新的咖啡文件。編輯或刪除的咖啡文件處理得很好。根據以下issue它應該工作。原因是什麼?

回答

0

解決使用一飲而盡手錶模塊:

watch(paths.coffee, function(evt) { 
    gulp.start('coffee-watch'); 
}); 

的問題不在於如何在蒸餾水文件夾中刪除刪除的資產文件夾文件?