前端開發的時候,每次修改代碼後,要移動鼠標到瀏覽器選中再刷新查看效果,不知覺間咱們的加班的時間又增長了0.5s, 真是罪孽!因此在使用gulp以後,就一直對能自動監聽文件刷新頁面的browserSync插件虎視眈眈。在這裏簡單的介紹一下用法,只須要五步,但願對你們有所幫助。css
browserSync是一款瀏覽器同步測試工具,能夠單獨使用,也能夠插入在gulp、grunt等工做流裏使用。點擊官網瞭解更多。
Gulp + browserSync文檔
Grunt + browserSync文檔html
npm install --save-dev browser-sync
var browserSync = require('browser-sync').create(); var reload = browserSync.reload;
browserSync之因此能實現多終端自動刷新測試,是由於他在你的局域網 IP 建立一個本地服務器,生成一個相似http://10.189.249.135:3002 的 URL,這樣全部與你電腦處在一個局域網的設備,均可以訪問到你本地的頁面。前端
// 建立一個靜態服務器 gulp.task('browser-sync', function() { browserSync.init({ server: { baseDir: "./" } }); }); //在原有服務器中代理 gulp.task('blowser-sync', function() { browserSync.init({ proxy:"localhost" //"你的域名或IP" }); }); //注意,要在運行須要運用到blowser-sync的任務前,運行他的啓動任務。 gulp.task('default',['blowser-sync', 'build:css', 'watch']);
如下是一個編譯處理css文件的任務,咱們但願在每次文件生成後自動刷新頁面。js文件同理。npm
gulp.task('build:css', function() { gulp.src(['../css/less/*.less']) //引入文件 .pipe(less().on('error', function (e){ console.error(e.message); this.emit('end'); })) .pipe(minifycss()) .pipe(gulp.dest('../css/')) .pipe(reload({stream: true})); // 在須要的地方插入reload(自動刷新)命令 });
gulp.watch('../views/*/*').on('change', reload);
到這裏,整個插件配置就完成啦。每次運行gulp,終端會提示瀏覽器經過browserSync訪問的網址,以下:(除了自動刷新功能外,browserSync還能夠實現多終端同步操做。果真是我最愛的同步測試工具^0^)。gulp
[BS] Access URLs: -------------------------------------- Local: http://localhost:3000 //在本機上訪問的url External: http://192.168.3.101:3000 //在其餘終端上訪問的url -------------------------------------- UI: http://localhost:3001 UI External: http://192.168.3.101:3001 --------------------------------------