BrowserSynccss
“Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。更重要的是 Browsersync能够同时在PC、平板、手机等设备下进项调试。您能够想象一下:“假设您的桌子上有pc、ipad、iphone、android等设备,同时打开了您须要调试的页面,当您使用browsersync后,您的任何一次代码保存,以上的设备都会同时显示您的改动”。不管您是前端仍是后端工程师,使用它将提升您30%的工做效率。”html
简单的说,BrowserSync就是搭建一个nodeJs服务器,监听指定文件,文件改动后,可以自动刷新全部设备的页面。开发时不再用手动刷新页面啦,yeah~。前端
安装node
首先,要安装nodeJS。android
而后经过npm全局安装browserSync。npm
npm install -g browser-sync
完成后,查看版本号gulp
browser-sync --version
恭喜你,安装成功啦。后端
输入一下命令就能够启动服务器啦,默认端口号为3000,若是默认端口号被占用,browserSync会寻找其余可用的端口号。固然,也能够经过--port指定端口号、浏览器
browser-sync start --server
更多的命令行使用方法能够参看官网。sass
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()。