javascript - Gulp sass 和 browsersync 重新加载浏览器而不是注入(inject) css

标签 javascript css gulp gulp-sass gulp-browser-sync

我正在使用最新的 gulp sass 和 browsersync。编辑并保存 scss 文件后,它会进行编译,并且我会看到“注入(inject) styles.css”但是浏览器也会重新加载。

不确定何时会发生变化,但它过去只是注入(inject)新的 css 文件而不重新加载。

我的任务:

var sassFiles = './app/assets/sass/**/*.{scss,sass}';
var cssFiles = './app/assets/css';
var cssBuildFiles = './build/assets/css';

var sassOptions = {
  errLogToConsole: true,
  outputStyle: 'compact'
};

var autoprefixerOptions = {
  browsers: ['last 2 versions']
};


  gulp.task('sass', function () {
  return gulp
    .src(sassFiles)
    .pipe(sourcemaps.init())
    .pipe(sass(sassOptions).on('error', sass.logError))
    .pipe(autoprefixer(autoprefixerOptions))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest(cssFiles))
    .pipe(browserSync.stream());
});

有一次,我使用过滤器仅将 css 文件传输到 browsersync,因为有人告诉我 map 文件正在触发重新加载。不确定我是否真的需要这样做,因为大多数在线示例都像我这里的一样......

最佳答案

  1. 确保您已在初始化选项中将 injectChanges 设置为 true

    browserSync.init({
        proxy:"http://localhost:8888",
        injectChanges: true
    });
    
  2. 尝试将过滤器传递给流方法以限制注入(inject)的更改

browserSync.stream({match: "**/*.css"})

关于javascript - Gulp sass 和 browsersync 重新加载浏览器而不是注入(inject) css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38375500/

相关文章:

javascript - Ember : click event on a view not firing

javascript - Jquery在自动完成中实现这种排序方法

wordpress - 背景图片在手机上不缩放

javascript - 我可以使用具有多个源和多个目标的 Gulp 任务吗?

javascript - 对于循环调用 HTTPS 地理编码 api 并将结果输入坐标到 SQL 数据库,如何让 Node 的 HTTPS 模块工作?

javascript - jQuery 对象索引忽略 jQuery.filter()

html - 水平排列照片

html - 如何使注册的符号不显示下划线?

javascript - 如何将 bower 包依赖项排除在我的汇总包之外?

Laravel 5 Elixir 编译 LESS 花费的时间太长