Gulp Concat + Browserync 正在重启

Gulp Concat + Browserync restarting

我正在使用 gulp concat 和 browserync。当我 运行 gulp 时,它启动 browserync 并连接并重新加载在模块中找到的所有 js 文件。问题是它只连接一次 js 文件,所以我需要再次停止 运行ning gulp 和 运行 以便我可以看到反映到 js 文件的任何更改。我也只在停止并重新启动 gulp 后看到 gulp 通知任务。我如何设置 gulp 以便始终捆绑和编译 js,然后 运行s browersync?

这是我的gulp文件

var gulp = require('gulp');
var concat = require('gulp-concat');
var browserSync = require('browser-sync').create();
var notify = require('gulp-notify');


// default 
gulp.task('default', ['browserSync', 'scripts'], function (){
// Reloads the browser whenever HTML or JS files change
gulp.watch('app/*.html', browserSync.reload); 
gulp.watch('app/modules/**/*.js', browserSync.reload);
});

gulp.task('scripts', function() {
return gulp.src('app/modules/**/**.js')
  .pipe(concat('main.js'))
  .pipe(gulp.dest('app/build/js'))
  .pipe(notify({ message: 'Scripts in modules have been bundled!' }));
});

//start browsersync
gulp.task('browserSync', function() {
browserSync.init({
server: {
  baseDir: 'app'
},
})
})

试试这个:

// watch 
gulp.task('watch', ['browserSync', 'scripts'], function (){
    // Reloads the browser whenever HTML or JS files change
    gulp.watch('app/*.html', browserSync.reload); 
    gulp.watch('app/modules/**/*.js', ['scripts']);
});

gulp.task('scripts', function() {
   return gulp.src('app/modules/**/**.js')
      .pipe(concat('main.js'))
      .pipe(gulp.dest('app/build/js'))
      .pipe(notify({ message: 'Scripts in modules have been bundled!' }))
      .pipe(browserSync.reload({
          stream: true
      }));
});

gulp.task('default', ['watch', 'scripts']);

我不确定,但你可以试着把

gulp.watch('app/modules/**/*.js', ['scripts']);

正在执行任务"default"

据我了解,您的 gulp 没有查看您的文件和 运行 脚本

P.S。我不是 gulp 方面的专家,如果无法解决,我很抱歉。