我正在尝试弄清楚如何将浏览器同步与 gulp 和 less 结合使用,以使浏览器在编译后在较少文件的更改时自动更新。我现在所得到的是导致系统中似乎重新加载并显示消息“已连接到浏览器同步”,但我没有看到浏览器中发生更改。在禁用缓存的完整手动重新加载中,我看到了预期的更改,因此 css / less 任务似乎部分工作,但我在浏览器同步上遗漏了一些东西。
哦,我在主 .less 文件中使用 @import 语句来为每个单独的模块提取更少的文件。感谢您的时间和帮助!
gulp.task('less', function(){
return gulp.src(basepath + 'styles/emma.less')
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(less())
.pipe(autoprefixer({
browsers: ['last 2 versions']
}))
.pipe(minifyCSS())
.pipe(sourcemaps.write('./'))
.pipe(filesize())
.pipe(gulp.dest( paths.dest + '/css' ))
.pipe(reload({stream: true}));
});
gulp.task('browser-sync', function() {
browserSync({
proxy: 'localhost:8080'
});
});
//dev task to compile things on the fly
gulp.task('dev', ['browser-sync'], function(){
gulp.watch(paths.scripts, ['scripts']);
gulp.watch(paths.less, ['less']);
gulp.watch(paths.templates, ['templates']);
});