2015-04-01 42 views
0

我使用的是咕嘟咕嘟+ BrowserSync我試圖重新加載我的開發網站時,更改到我的HTML文件所做的,但我似乎無法得到它的工作。BrowserSync:刷新HTML的變化

我得到在命令行中沒有錯誤,我的網頁似乎重新加載,但我所做的更改不會出現在瀏覽器,除非我退出了一口任務並重新運行。

這是我的當前設置:

var gulp = require('gulp'); 
var browserify = require('browserify'); 
var swig = require('gulp-swig'); 
var browserSync = require('browser-sync'); 
var reload = browserSync.reload; 

gulp.task('serve', function() { 
    browserSync({ 
    server: { 
     baseDir: './Build' 
    } 
    }); 
}); 

gulp.task('templates', function() { 
    return gulp.src('./src/*.html') 
    .pipe(swig()) 
    .pipe(gulp.dest('./Build')) 
    .pipe(reload({stream: true})) 
}); 

// Default task 
gulp.task('default', ['serve', 'templates', 'sass', 'js'], function() { 
    gulp.watch('./src/*.html', ['templates']); 
    gulp.watch(['./src/scss/*.scss', './src/scss/**/*.scss'], ['sass']); 
    gulp.watch('./src/js/*.js', ['js']); 
}); 

任何幫助表示讚賞。提前致謝!

回答

2

在此設置的問題似乎痛飲。當您檢查./Build的文件,這些文件並沒有改變,所以瀏覽器是正確加載的文件。但是,swig沒有得到改變。禁用swig的緩存功能應該可以解決這個問題:

gulp.task('templates', function() { 
    return gulp.src('./src/*.html') 
    .pipe(swig({ 
     defaults: { cache: false } 
    })) 
    .pipe(gulp.dest('./Build')) 
    .pipe(reload({stream: true})); 
}); 
+0

這是殺了我。將緩存設置爲false將起作用。謝謝。 – user1464317 2015-09-10 13:48:53