0

我正在使用远程服务器,并在任何文件更改后通过 gulp-sftp 部署到服务器。我也在与 SASS 合作,并且有编译它的任务。

编译任务

gulp.task('compile_css',function(){
gulp.src('css/**/*.scss')

    .pipe(compass({
        config_file: 'config.rb',
        css: 'css',
        sass: 'css'
    }))

    .pipe(gulp.dest('css'))
    .pipe(sftp(sftp_config));
});

观察者

gulp.task('watch', function(){
livereload.listen();    
gulp.watch('css/**/*.scss', ['compile_css']);
gulp.watch('css/*.css*').on('change', function(file){
    gulp.src(file.path)
      .pipe(wait(1000))
      .pipe(livereload());
});
});

现在,如果我在第一个浏览器中更改任何 .scss 文件,则仅更新样式表而无需重新加载(仅加载新版本的 style.css),然后刷新整个页面,这很烦人。yu可以给一些建议如何避免它吗?

ps 使用 LiveReload 软件在这种情况下完美运行

4

1 回答 1

1

watch请在您的任务中尝试以下操作。

请注意,根据gulp-livereload docs,我现在无法测试该代码段,但我认为它可以帮助您:

gulp.task('watch', function(){
   livereload.listen();
   gulp.watch('css/**/*.scss', ['compile_css']);
   gulp.watch('css/*.css', function(file){
      livereload.changed(file)
  });
});

提示:您是否考虑过改用Browsersync

于 2016-01-19T10:03:21.423 回答