Задать вопрос
@runprogr

Почему Browsersync сбрасывает css?

Мой код из галпфайла

var browserSync = require("browser-sync").create();

gulp.task('watch', function(){
      browserSync.init({
        proxy: 'gulp.src',
        browser: 'chrome',
        notify: false
      });

  // Следить за SCSS файлами и компилить в css
  gulp.watch(source_src + 'scss/**/*.scss', gulp.series('sass_compile'));

  // При изменении файлов запустить релоад страницы браузера
  gulp.watch('./' + path.src + '/' + "**/*.html").on('change', browserSync.reload);
  gulp.watch('./' + path.src + '/' + "**/*.php").on('change', browserSync.reload);
  gulp.watch(assets_src + "css/**/*.css").on('change', browserSync.reload);
  gulp.watch(assets_src + 'js/**/*.js').on('change', browserSync.reload);
});

// Таск для scss==>css
gulp.task('sass_compile', function () {
    return gulp.src(source_src + 'scss/**/main.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest(assets_src + 'css'))
    .pipe(browserSync.stream());
});


При изменении scss файла, галп компилирует css и обновляет стили в браузере. При изменении php файла, галп обновляет страницу, но стили сбрасываются до изначального состояния. Если нажать ctrl + F5, то стили снова обновляются до текущего состояния, но если снова изменить что-то в стилях, а затем в файле php, то browsersync сбросит стили до того состояния, которое было после нажатия ctrl + F5.
Пробовал убирать строчку .pipe(browserSync.stream()); из таска и оставлять только gulp.watch(assets_src + "css/**/*.css").on('change', browserSync.reload); и наоборот, но все равно ситуция не разрешается. Почему то при обновлении страницы подгружаются стили из кэша, а не из файла css
  • Вопрос задан
  • 125 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@runprogr Автор вопроса
Нашел вариант решения от @serii81

1. Запускаем инструмент разработчика
2. В правой части окна, нажимаем на три вертикальные точки.
3. Выбираем Settings или нажимаем f1
4. Ставим галочку в блоке Network > Disable cache (while DevTools is open)

Все, теперь кэш в браузере не будет сохранятся, но при условии, что консоль будет открыта.


Действительно, так стили обновляются, но приходится постоянно держать консоль разработчика открытой, что не всегда удобно. Есть ли у кого-нибудь более изящное решение ?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы