2016-05-08 9 views
2

Как я упоминал в названии, есть проблема с запуском gulp.watch. Он запускает часы только после первого изменения файла, когда я меняю второй, третий и т. Д. Он не запускает задачу.
Ниже мой gulpfile.js:Часы Gulp 4 работают только 1 раз

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

А некоторые журналы:

$: 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. 

Я использовал подобную конфигурацию в нескольких проектах, и это было прекрасно, все работало.
Я не знаю, важна ли эта информация, но я использую Ubuntu 14.04

ответ

0

После долгих попыток я нашел решение этой проблемы.

Я не знаю почему, но эта конфигурация работает на Windows,, но, как оказалось на Ubuntu я должен был добавить ** к пути из смотрел файл это часть кода:

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

У меня такая же проблема в arch linux, и добавьте '**' в путь наблюдаемого файла, чтобы не исправить его. грустно ~ – Roy

+0

вы можете предоставить некоторый код, я постараюсь помочь – lomboboo

+0

некоторый код, как '/ ** * смотреть изменения папки Src затем запустить WebPack * смотреть DIST изменения папки затем перезагрузить браузер */ уаг srcWatcher = глотка. watch ('./**/ src/**/*', gulp.series ('webpack', 'trim', 'jekyll', function() { browserSync.reload(); })); 'и общий код вы можете увидеть мое репо в github, адрес https://github.com/dxcqcv/dxcqcv.github.io – Roy