zoukankan      html  css  js  c++  java
  • 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()。

  • 相关阅读:
    python面试题解析(python基础篇80题)
    python面试题
    网络IO模型 主要 IO多路复用
    线程队列 线程池 协程
    线程的Thread模块 同步控制:锁,事件,信号量,条件,定时器
    进程池,线程的理论,Threading.Thread来创建线程
    进程之间的通信(IPC),对列,管道,数据共享.进程池初识
    Process 进程之间的数据隔离问题,守护进程,锁,信号量,事件
    js get the local domain and path fast
    github jekyll blog
  • 原文地址:https://www.cnblogs.com/zhangyubao/p/7003889.html
Copyright © 2011-2022 走看看