2015-06-16 33 views
0

我正在爲我的項目編寫我的gulp文件。代碼如下:重新加載gulp-browser-sync而不傳遞任何參數

gulp.task('sass', function() { 
    gulp.src(paths.styles.src) 
     .pipe(sass({ 
      outputStyle: 'compact', 
      includePaths: [paths.styles.src] 
     })) 
     .pipe(autoprefix()) 
     .pipe(gulp.dest(paths.styles.dest)) 
     .pipe(browserSync.reload()); 
}); 

我試圖做的是重新加載瀏覽器是否有與*.scss文件的任何變化。 (我的paths.styles.src'dev/assets/scss/**/*.scss'

但是最後一根管道不起作用。它只適用於如果我把一些像這樣的配置:

.pipe(browserSync.reload({ 
    stream: true 
})); 

任何人都可以爲我解釋,因爲網上文件不夠清楚。

非常感謝。

回答

0

我使用瀏覽器同步重新加載這種方式: gulp.watch(,['styles']); gulp.watch(,function(){browsersync.reload();}); 通過這種方式,您可以觀察scss中變化的編譯變化,並觀察輸出並重新加載輸出CSS文件的更改。 用你的方式,你可以在每次編譯完成後重新加載,這也是可行的。但是你需要一個監視方法來更改scss文件。如果你想在編譯後使用它在管道中,你必須明鏡它作爲

reload({stream: true}) 

這樣,你不重新加載整個文檔。 Browsersync只將新CSS插入到瀏覽器中。

+0

是的,我正在使用watch方法來調用['sass']函數。但我仍然不明白爲什麼browsersync.reload();所謂的管內不能運行。 – erikng

相關問題