Браузер-Синхронизация файлов CSS Кэш?

1

У меня есть следующая настройка

  • хозяин
    • Windows 10
    • BrowserSync 2.9.11 в режиме прокси (localhost: 8888)
  • VirtualBox (как локальный сервер разработки)

    • Debian 7
    • Apache 2.2.22 и PHP 5.6.14-1
    • Порт 80 отправляется на хост: 8888
    • общая папка с хоста, где находятся файлы с файлами
  • Browsersync работает, и CSS вводится (я вижу уведомление)

    • в настоящее время подается через глоток, но и без глотки, проблема в том, что
    • см. gulpfile.js

var gulp = require('gulp'),
    sass = require('gulp-ruby-sass'),
    autoprefixer = require('gulp-autoprefixer'),
    notify = require('gulp-notify'),
    cache = require('gulp-cache'),
    browserSync = require('browser-sync').create(),
    reload = browserSync.reload;

// processing sass into css - 'gulp styles'
gulp.task('styles', function() {
    return sass('css/*.scss', {
        style: 'compressed'
    })
        .pipe(autoprefixer('last 3 version'))
        .on('error', function (err) { console.log(err.message); })
        .pipe(gulp.dest('css'))
        .pipe(reload({stream: true}));
        /*.pipe(notify({ message: 'Styles task complete' }));*/
});

// listening for changes to scss and images - 'gulp watch'
gulp.task('watch', function() {
    gulp.watch('css/**/*.scss', ['styles']);
});

// live reload via browser-sync - 'gulp serve'
gulp.task('serve', function() {
    browserSync.init({
        browser: "Firefox",
        open: "external",
        proxy: "localhost:8888",
        startPath: "fatfree-master"
    });
    gulp.watch("css/**/*.scss", ['styles']);
    gulp.watch([
        "app/views/**/*.html",
        "**/*.php",
        "**/*.ini"
    ]).on('change', reload);
});

// default tasks enacted by typing 'gulp'
gulp.task('default', function() {
    gulp.start('styles');
});

проблема

  • Изменения в файле CSS не вводятся правильно
    • Если я изменил несколько строк, BrowserSync обнаруживает изменения и вводит CSS, но этот CSS старый
    • Если я изменяю большую часть файла css, BrowserSync обнаруживает изменения и вводит CSS (правильный)
  • Я пробовал другой сервер (Nginx), но проблема все еще там
  • Вот некоторые странные вещи
    • Если я использую внутренний php-сервер (php -s), введенный CSS правильный
    • Если я использую Apache напрямую, а не через BrowserSync-Proxy, CSS правильный
    • Файл в Host/Guest изменяется, проверяется с помощью nano/editor
    • Перезапуск BrowserSync не изменяет поведение, только перезапуск гостевой машины

Решение?

Пожалуйста, помогите мне. Я хотел бы использовать BrowserSync, но с этими проблемами, это не реальная помощь для меня.

Теги:
gulp
browser-sync

2 ответа

0

У меня была одна и та же проблема, и это вовсе не было глотком. У меня установлен плагин Mod PageSpeed Apache. Он кэширует только CSS и JS файлы только для страниц. Поэтому, если вы загружаете файлы через SSH или FTP, они все равно будут жить версией, а не версиями с кешем. Отключение Mod PageSpeed устранило мою проблему.

apache2/conf/pagespeed.conf
 //turn it off
   ModPagespeed off
0

Я нашел решение. Проблема была в Virtualbox, она кэширует некоторые файлы внутри себя. Проблема, описанная здесь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню