BrowserSync
“Browsersync能讓瀏覽器實時、快速響應您的文件更改(html、js、css、sass、less等)並自動刷新頁面。更重要的是 Browsersync可以同時在PC、平板、手機等設備下進項調試。您可以想象一下:“假設您的桌子上有pc、ipad、iphone、android等設備,同時打開了您需要調試的頁面,當您使用browsersync後,您的任何一次代碼保存,以上的設備都會同時顯示您的改動”。無論您是前端還是後端工程師,使用它將提高您30%的工作效率。”
簡單的說,BrowserSync就是搭建一個nodeJs服務器,監聽指定文件,文件改動後,能夠自動刷新所有設備的頁面。開發時再也不用手動刷新頁面啦,yeah~。
安裝
首先,要安裝nodeJS。
然後通過npm全局安裝browserSync。
npm install -g browser-sync
完成後,查看版本號
browser-sync --version
恭喜你,安裝成功啦。
輸入一下命令就可以啟動服務器啦,默認端口號為3000,如果默認端口號被佔用,browserSync會尋找其他可用的端口號。當然,也可以通過--port指定端口號、
browser-sync start --server
更多的命令行使用方法可以參看官網。
gulp
直接上gulpfile.js代碼吧。最後一行,當html發生改動後,會自動刷新頁面。
let gulp = require('gulp'); let browserSync = require('browser-sync').create; gulp.task('server', ['stylus', 'babel'],function { browserSync.init({ server: { baseDir: './' } }) gulp.watch(`${mod}/*.html`).on('change', browserSync.reload); })
監聽靜態文件
gulp.task('stylus', function { return gulp.src(filePath.css.src) .pipe(stylus({ compress: true, use: nib })) .pipe(gulp.dest(filePath.css.dest)) .pipe(browserSync.stream) }) gulp.task('stylus:watch', ['stylus'], browserSync.reload) gulp.task('babel', function { mod = argv.m; return gulp.src(filePath.js.src) .pipe(babel({ presets: ['es2015'] })) .pipe(gulp.dest(filePath.js.dest)); }) gulp.task('babel:watch', ['babel'], browserSync.reload)
只需要在任務的最後,調用reload方法,即可自動刷新頁面了。這裡只在監聽任務中調用了reload。
相關推薦
'桌面版應用程序的前世今生'
"互聯網出現之前,C/S架構是軟件產品的主流,後面漸漸地被B/S架構所取代(因為不需要配置客戶端),但由於瀏覽器有刷新機制,服務器的負載等因素,C/S架構的響應速度和流暢性是好於B/S架構的,所以現在軟件開發的趨勢是兩者的融合,一般是B/S架構開發的產品可以非常方便地轉移...
'2019前端面試經典(html5+css3+JavaScript)'
"前端目錄HTML相關CSS相關JAVASCRIPT相關DOM相關HTTP相關VUE相關算法相關網絡安全相關webpack相關其他Html相關1 html語義化意義:根據內容的結構化(內容語義化),選擇合適的標籤(代碼語義化)便於開發者閱讀和寫出更優雅的代碼的同時讓瀏覽器的...
'小白入門Python必讀,花7天整理最詳細的面向對象案例,超讚'
"Python作為人工智能首選編程語言,也是最近大家知道比較火的編程語言,Python從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對象是很容易的。下面有大牛級別程序員帶小白入門Python,花7天整理最全面向對象教程!供參考學習!在文末小編...
'通殺 Event Loop 面試題'
"03-JS單線程, event loop徹底搞懂代碼執行順序瀏覽器工作原理單線程的含義瀏覽器是 multi-process,一個瀏覽器只有一個 Browser Process,負責管理 Tabs、協調其他 process 和 Renderer process 存至 mem...
推薦中...