Javascript 吞咽手表导致无限循环
当我运行gulpjs并对js文件进行更改时,当调用它时,它会进入一个无限循环 为什么从gulp.watch调用build永远不会返回Javascript 吞咽手表导致无限循环,javascript,gulp,Javascript,Gulp,当我运行gulpjs并对js文件进行更改时,当调用它时,它会进入一个无限循环 为什么从gulp.watch调用build永远不会返回 var gulp = require("gulp"); var browserify = require("browserify"); var reactify = require("reactify"); var source = require("vinyl-source-stream"); var watch = require("gulp-watch");
var gulp = require("gulp");
var browserify = require("browserify");
var reactify = require("reactify");
var source = require("vinyl-source-stream");
var watch = require("gulp-watch");
function _bundle(config){
return browserify({
entries: ['./main.js'],
transform: [reactify]
}).bundle();
}
gulp.task('default',function(){
"use strict";
_bundle()
.pipe(source('build.js'))
.pipe(gulp.dest('./'));
});
gulp.task('build',function(){
"use strict";
_bundle()
.pipe(source('build.js'))
.pipe(gulp.dest('./'));
});
gulp.task('js', function() {
//gulp.watch(['./*.js'], ['default']);
gulp.watch(['./*.js'],['build'])
});
//您正在所有.js文件(
*.js
)上指定监视
,并在其中任何文件发生更改时触发生成
。
构建依次调用\u bundle
,这将导致对main.js
由于
main.js
与watch
的*.js
匹配,build
将再次被触发,现在您有了一个确保无限循环的循环。'notreturn'-它不应该返回,它应该“监视”一段时间changes@SimonH没错,那是措词不当的。问题是函数进入无限循环,在一次更改后不断调用_bundle。这就是问题所在。谢谢是的,我也有同样的问题,你怎么能忽略bundle文件呢?我想出来了:)我用过这个(如果有人像我一样来自谷歌):gulp.watch(['webroot/js/***.js',“!webroot/js/bundle.js”],['default'])代码>这个代码>字符使观察者忽略此文件。