gulp+browserSync自动刷新页面
Posted 张玉宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gulp+browserSync自动刷新页面相关的知识,希望对你有一定的参考价值。
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()。
以上是关于gulp+browserSync自动刷新页面的主要内容,如果未能解决你的问题,请参考以下文章