2016-05-08 6 views
2

Wie ich im Titel erwähnt habe, läuft ein Problem gulp.watch. Es läuft nur nach der ersten Änderung in der Datei, wenn ich die zweite, dritte und etc ändern, führt es keine Task aus.
Im Folgenden meine gulpfile.js ist:Gulp 4 Uhr läuft nur 1 Mal

var gulp = require('gulp'); 
var babel = require('gulp-babel'); 
var rename = require("gulp-rename"); 
var del = require('del'); 
var less = require('gulp-less'); 

gulp.task('es6', function() { 
    return gulp.src('./test.js') 
     .pipe(rename(function (path) { 
      path.basename += "-es6"; 
      return path; 
     })) 
     .pipe(babel()) 
     .pipe(gulp.dest('./')) 
}); 

gulp.task('clean', function() { 
    return del('./test-es6.js'); 
}); 

gulp.task('watch', function() { 
    gulp.watch('./test.js', gulp.series('es6')); 
    console.log('Running watch...'); 
}); 

gulp.task('default', gulp.series('clean', 'es6', gulp.parallel('watch'))); 

Und einige Protokolle:

$: gulp 
[14:22:40] Using gulpfile /var/www/html/es2015/gulpfile.js 
[14:22:40] Starting 'default'... 
[14:22:40] Starting 'clean'... 
[14:22:40] Finished 'clean' after 11 ms 
[14:22:40] Starting 'es6'... 
[14:22:43] Finished 'es6' after 2.11 s 
[14:22:43] Starting '<parallel>'... 
[14:22:43] Starting 'watch'... 
Running watch... 
[14:22:55] Starting '<series>'... 
[14:22:55] Starting 'es6'... 
[14:22:55] Finished 'es6' after 42 ms 
[14:22:55] Finished '<series>' after 43 ms << first change, but no second third and etc. 

habe ich ähnliche Konfiguration in einigen Projekten und es war in Ordnung, alles hat funktioniert.
Ich weiß nicht, ob diese Informationen wichtig sind, aber ich benutze Ubuntu 14.04

Antwort

0

Nach langen Versuchen habe ich eine Lösung für dieses Problem gefunden.

Ich weiß nicht, warum, aber diese Konfiguration unter Windows arbeitet, aber wie auf Ubuntu erschienen war ich ** zu Weg der beobachtete Datei dieses Teil Code hinzuzufügen:

gulp.task('watch', function() { 
    gulp.watch('./**/test.js', gulp.series('es6')); 
    console.log('Running watch...'); 
}); 
+0

Ich habe das gleiche Problem in Arch Linux, und fügen Sie '**' zu Pfad der überwachten Datei, um es nicht zu beheben. traurig ~ – Roy

+0

Sie einen Code zur Verfügung stellen kann, werde ich versuchen, wie '/ ** * src Ordner ändern – lomboboo

+0

einige Code zu helfen, dann sehen webpack laufen * dist Ordner ändern beobachten dann Browser neu geladen */ var srcWatcher = schlingen. watch ('./**/ src/**/*', gulp.series ('webpack', 'trimmen', 'jekyll', function() { browserSync.reload(); })); 'und Gesamtcode Sie können meine Repo in Github sehen, Adresse ist https://github.com/dxcqcv/dxcqcv.github.io – Roy