Gulp Concat + Browserync重启

时间:2016-04-13 17:27:05

标签: javascript gulp gulp-concat gulp-browser-sync

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

这是我的gulpfile

coins = [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0]
perms = set() # invariant no repeated elements, 

# return elements with length=5 repeat
combinations = combinations_with_replacement(coins,5)

for comb in combinations:
    for c1,c2,c3,c4,c5 in permutations(comb):
        if sum([c1,c2,c3,c4,c5]) == 2:
            perms.add((c1,c2,c3,c4,c5))

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

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

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

在任务"默认"

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

P.S。如果不能解决问题,我就不是专家了。对不起。