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自动刷新页面的主要内容,如果未能解决你的问题,请参考以下文章

使用 Gulp 更改后浏览器同步不刷新页面

gulp+browserSync+nodemon 实现express 全端自动刷新的实践

gulp 和 Browsersync 的联合使用

前端工具-浏览器同步测试(自动刷新热刷新热加载)

前端工具-浏览器同步测试(自动刷新热刷新热加载)

browsersync 浏览器自动刷新神器