gulp+browserSync自动刷新页面

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()。

相关文章
相关标签/搜索