Gulp 观看,等待任务
Gulp watch, wait for task
我想观看多个文件,当它们发生变化时我想 运行 MsBuild 并在构建完成后使用 BrowserSync 重新加载。到目前为止,我得到了这个 "watcher":
gulp.watch([config.templatePath+'/**/*','!'+config.templatePath+'/assets/stylesheets/**/*'],['build']).on('change', function(file) {
browsersync.reload(file);
});
而这个构建任务:
gulp.task('build', function() {
return gulp
.src(config.projectFile)
.pipe(msbuild({
toolsVersion: 12.0
}));
});
这工作正常,但浏览器在构建完成之前重新加载。首先我认为是 gulp-msbuild 的问题,但我忘记了 return
,请参阅:https://github.com/hoffi/gulp-msbuild/issues/8.
构建任务在重新加载之前触发,但不会等到完成。有什么解决办法吗?
提前致谢!
你需要一个单独的任务,比如 build_reload
:
gulp.task('build_reload', function() {
return gulp
.src(config.projectFile)
.pipe(msbuild({
toolsVersion: 12.0
}))
.on('end', function() {
browsersync.reload();
}));;
});
然后将 watch
任务更改为:
gulp.watch([config.templatePath + '/**/*', '!' + config.templatePath + '/assets/stylesheets/**/*'], ['build_reload']);
这样它只会在一切完成后重新加载。
我想观看多个文件,当它们发生变化时我想 运行 MsBuild 并在构建完成后使用 BrowserSync 重新加载。到目前为止,我得到了这个 "watcher":
gulp.watch([config.templatePath+'/**/*','!'+config.templatePath+'/assets/stylesheets/**/*'],['build']).on('change', function(file) {
browsersync.reload(file);
});
而这个构建任务:
gulp.task('build', function() {
return gulp
.src(config.projectFile)
.pipe(msbuild({
toolsVersion: 12.0
}));
});
这工作正常,但浏览器在构建完成之前重新加载。首先我认为是 gulp-msbuild 的问题,但我忘记了 return
,请参阅:https://github.com/hoffi/gulp-msbuild/issues/8.
构建任务在重新加载之前触发,但不会等到完成。有什么解决办法吗?
提前致谢!
你需要一个单独的任务,比如 build_reload
:
gulp.task('build_reload', function() {
return gulp
.src(config.projectFile)
.pipe(msbuild({
toolsVersion: 12.0
}))
.on('end', function() {
browsersync.reload();
}));;
});
然后将 watch
任务更改为:
gulp.watch([config.templatePath + '/**/*', '!' + config.templatePath + '/assets/stylesheets/**/*'], ['build_reload']);
这样它只会在一切完成后重新加载。