私は以下の設定でgulpでbrowsersyncしています。問題は、コードが変更されると、browsersyncがこれを認識してページを更新するということです。ただし、スクリプトファイルがgulp.dest
にあるのを待たずに自動的に更新され、スクリプトファイルが見つからない場合は、再度リフレッシュしてください。完了前にgulpをリフレッシュしているBrowsersync
タスクが完全に完了するのを待つ方法がありますか?
var browserSync = require('browser-sync').create();
gulp.task('cleanScripts', function() {
return gulp.src('./assets/js', {read: false})
.pipe(clean());
});
gulp.task('scripts', ['cleanScripts'], function() {
return browserify('./client/js/main.js')
.bundle()
.on('error', function (e) {
gutil.log(e);
})
.pipe(source('main-' + packageJson.version + '.js'))
.pipe(buffer())
.pipe(uglify())
.pipe(gulp.dest('./assets/js'));
});
//Watch our changes
gulp.task('watch', function() {
browserSync.init({
proxy: "localhost:3000"
});
gulp.watch(['./client/js/**/*.js', ['scripts']).on('change', browserSync.reload);
});