Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Gulp sass和browsersync重新加载浏览器而不是注入css_Javascript_Css_Gulp_Gulp Sass_Gulp Browser Sync - Fatal编程技术网

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

Javascript Gulp sass和browsersync重新加载浏览器而不是注入css,javascript,css,gulp,gulp-sass,gulp-browser-sync,Javascript,Css,Gulp,Gulp Sass,Gulp Browser Sync,我正在使用最新的gulp sass和browsersync。编辑和保存scss文件后,它会编译,我看到“injecting styles.css”,但浏览器也会重新加载 不确定什么时候会改变,但它过去只注入新的css文件而不重新加载 我的任务: var sassFiles = './app/assets/sass/**/*.{scss,sass}'; var cssFiles = './app/assets/css'; var cssBuildFiles = './build/assets/cs

我正在使用最新的gulp sass和browsersync。编辑和保存scss文件后,它会编译,我看到“injecting styles.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文件传输到browsersync,因为有人告诉我地图文件正在触发重新加载。不确定我是否真的需要这样做,因为大多数在线示例都与我这里的示例类似

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

    browserSync.init({
        proxy:"http://localhost:8888",
        injectChanges: true
    });
    
  • 尝试向流方法传递筛选器以限制注入的更改
  • browserSync.stream({match:***/.css})

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

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

  • browserSync.stream({match:***.css})

    在您的sass函数
    .pipe(browserSync.stream())中是将页面设置为重新加载的内容。您可以在这里更改选项,我确实希望它注入新的css。这就是“流”应该做的,不需要完全重新加载是将页面设置为重新加载的内容。您可以在这里更改选项,我确实希望它注入新的css。这就是“流”应该做的,不需要完全重新加载。