2015-11-02 108 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代理的CSS是正確的
    • 在主機/客戶的文件被修改,通過納米/編輯
    • 重新啓動BrowserSync不改變行爲進行確認,僅在重新啓動來賓機

解決方案?

請幫幫我。我很想使用BrowserSync,但遇到這些問題,這對我來說並不是真正的幫助。

回答

0

我有完全相同的問題,它根本沒有吞嚥。我安裝了Mod PageSpeed Apache插件。它僅爲頁面服務緩存CSS和JS文件。因此,如果您通過SSH或FTP下載文件,它們仍然是實時版本而不是頁面緩存版本。禁用Mod PageSpeed修復了我的問題。

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