2015-11-02 3 views
1

У меня есть следующие настройкиБраузер-Синхронизация файлов CSS Кэш?

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

    • Debia п 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 правильно
    • Файл в хост/Гость изменяется, проверяется с помощью нано/редактор
    • Перезапуск BrowserSync не меняет поведение, только перезапуском гость машина

решение?

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

ответ

0

Я нашел решение. Virtualbox был проблемой, он кэширует некоторые файлы внутри себя. Problem described here

0

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

apache2/conf/pagespeed.conf 
//turn it off 
    ModPagespeed off 
Смежные вопросы