Javascript 吞下4块手表只运行1次
正如我在标题中提到的,运行Javascript 吞下4块手表只运行1次,javascript,gulp,gulp-watch,gulp-4,Javascript,Gulp,Gulp Watch,Gulp 4,正如我在标题中提到的,运行gulp.watch时出现问题。它仅在文件中的第一次更改后运行watch,当我更改第二次、第三次等时,它不运行任务。 下面是我的gulpfile.js: var gulp = require('gulp'); var babel = require('gulp-babel'); var rename = require("gulp-rename"); var del = require('del'); var less = require('gulp-less');
gulp.watch
时出现问题。它仅在文件中的第一次更改后运行watch,当我更改第二次、第三次等时,它不运行任务。下面是我的
gulpfile.js
:
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.
$:大口喝
[14:22:40]使用gulpfile/var/www/html/es2015/gulpfile.js
[14:22:40]正在启动“默认”。。。
[14:22:40]开始“清洁”。。。
[14:22:40]11毫秒后完成“清洁”
[14:22:40]正在启动“es6”。。。
[14:22:43]在2.11秒后完成“es6”
[14:22:43]正在启动“”。。。
[14:22:43]开始“监视”。。。
跑步手表。。。
[14:22:55]正在启动“”。。。
[14:22:55]正在启动“es6”。。。
[14:22:55]42毫秒后完成“es6”
[14:22:55]43毫秒后完成“”经过长时间的尝试,我找到了解决此问题的方法
我不知道为什么,但是这个配置在Windows上运行,但是在Ubuntu上,我不得不将**
添加到观看的文件的路径中。这部分代码:
gulp.task('watch', function () {
gulp.watch( './**/test.js', gulp.series('es6') );
console.log('Running watch...');
});
我在arch linux中也遇到了同样的问题,将***
添加到监视文件的路径中,以避免修复它。sad~一些代码,如/***监视src文件夹更改,然后运行webpack*监视dist文件夹更改,然后重新加载浏览器*/var srcWatcher=gulp.watch('./***/src/***',gulp.series('webpack','trim','jekyll',function(){browserSync.reload();}))代码>和总代码您可以在github中看到我的回购协议,地址是