【发布时间】:2016-07-08 08:59:26
【问题描述】:
我在 gulp 中使用 browsersync,设置如下。问题是当代码更改时,browsersync 会识别到这一点并刷新页面。但是它不会等到脚本文件在gulp.dest所以一般它会自动刷新,找不到脚本文件,然后再次刷新,它就在那里。
有没有办法确保它会等待任务完全完成?
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);
});
【问题讨论】:
标签: node.js gulp browser-sync