Gulp Concat+Browsesync重新启动

Gulp Concat + Browserync restarting

本文关键字:重新启动 Concat+Browsesync Gulp      更新时间:2024-06-03

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

这是我的gulpfile

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

在任务"默认"下

据我所知,你的gump没有查看你的文件并运行脚本

附言:如果不成功,我不是狼吞虎咽的专家,对不起。