Gulp sass和浏览器同步重新加载浏览器而不是注入css

Gulp sass and browsersync reloading browser instead of injecting css

本文关键字:浏览器 注入 加载 css sass 同步 Gulp 新加载      更新时间:2023-09-26

我正在使用最新的gulp sass和浏览器同步。 编辑并保存 scss 文件后,它会编译,我看到"注入样式.css",但浏览器也会重新加载。

不确定这何时更改,但它过去只是注入新的 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 文件管道传输到浏览器同步,因为有人告诉我地图文件正在触发重新加载。 不确定我是否真的需要这样做,因为大多数在线示例就像我在这里一样......

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

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

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