我使用的是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没有查看你的文件并运行脚本
附言:如果不成功,我不是狼吞虎咽的专家,对不起。