Css 如何使用gulp live server连接server.notify和['sass']?
在我的gulp设置中,我似乎无法同时重新加载服务器和运行sass。如果我保存两次styles.scss文件,一切正常。当我只保存一次时,服务器会重新加载,但sass不会运行 我曾尝试将“sass”任务作为“service”的依赖项来运行,但这使事情变得更糟。有人能给我指一下正确的方向吗Css 如何使用gulp live server连接server.notify和['sass']?,css,sass,gulp,livereload,Css,Sass,Gulp,Livereload,在我的gulp设置中,我似乎无法同时重新加载服务器和运行sass。如果我保存两次styles.scss文件,一切正常。当我只保存一次时,服务器会重新加载,但sass不会运行 我曾尝试将“sass”任务作为“service”的依赖项来运行,但这使事情变得更糟。有人能给我指一下正确的方向吗 //run sass gulp.task('sass', function () { return sass('client/scss/styles.scss') .on('error', fun
//run sass
gulp.task('sass', function () {
return sass('client/scss/styles.scss')
.on('error', function (err) {
console.error('Error!', err.message);
})
.pipe(gulp.dest('client/css/'));
});
//run sass again when file is updated
gulp.task('watch', function(){
gulp.watch('client/scss/*.scss', ['sass']);
});
//reload server when sass file updates
gulp.task('serve', function() {
var server = gls.new('server.js');
server.start();
gulp.watch(['client/scss/*.scss'], server.notify);
gulp.watch('server.js', server.start);
});
//initial run
gulp.task('default', ['serve', 'sass', 'watch']);
问题是,您正在服务器任务中监视scss文件 因此,当前的流程如下所示:
gulp.task('serve', function() {
var server = gls.new('server.js');
server.start();
gulp.watch(['client/css/*.css'], server.notify);
gulp.watch('server.js', server.start);
});
SCS发生了变化
监视任务开始编译sass,服务器使用旧的
css太早了
最终的css被编译
如果您第二次保存SCS,这一切都会再次发生,现在一切正常,因为css在第一次运行时被刷新
您应该在serve任务中查看css文件。这样,流程将是:
SCS发生了变化
监视任务开始编译sass
最终的css被编译
服务器任务使用新css重新加载页面
因此,解决方案是简单地更改服务任务,如下所示:
gulp.task('serve', function() {
var server = gls.new('server.js');
server.start();
gulp.watch(['client/css/*.css'], server.notify);
gulp.watch('server.js', server.start);
});