browser-sync自动刷新,释放你的F5

这是一个神器,相比LiveRoad使用比较简单,建议做前端开发的同学,不要犹豫和观察,赶紧装上释放你的F5吧。以下来自己browser-sync中文网的介绍和使用方法。

省时的浏览器同步测试工具

Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。更重要的是 Browsersync可以同时在PC、平板、手机等设备下进项调试。您可以想象一下:“假设您的桌子上有pc、ipad、iphone、android等设备,同时打开了您需要调试的页面,当您使用browsersync后,您的任何一次代码保存,以上的设备都会同时显示您的改动”。无论您是前端还是后端工程师,使用它将提高您30%的工作效率。

sync-demo

有了它,您不用在多个浏览器、多个设备间来回切换,频繁的刷新页面。更神奇的是您在一个浏览器中滚动页面、点击等行为也会同步到其他浏览器和设备中,这一切还可以通过可视化界面来控制。

scroll-demo

简化操作流程

每个网页在不同设备的浏览器里,测试时间呈指数级增长,无论是PC还是移动端。曾经我们每改一次的代码,都需要手动去刷新一次页面,查看我们的改动是否正确;现在,BrowserSync减少了重复的手工任务,这一切都交给BrowserSync去完成,我们只需专注在业务的逻辑里去。

工作中您需要它

BrowserSync是建立在网络技术上的,您可以轻松安装在OS X,Windows或Linux上,然后在不同的设备及浏览器里进行调试。就连UI都可以运行在浏览器 – 尝试在另一台设备上创建第二页面来控制您的BrowserSync。

插入到您的工作流程

通过可视化的操作方式或命令行来创建个性化的测试环境,多设备共同响应。BrowserSync很容易与您的网络平台集成,构建工具和其他Node项目中,例如gulp、grunt。

文件同步

当您改变HTML,CSS,图像和其他项目文件浏览器会自动更新。

浏览器支持

支持PC,平板电脑和手机之间的即时同步。各种文件及时响应,堪称完美。

构建工具兼容

可轻松与grunt、gulp等工具配合使用,或包含在其它node项目里。

如何使用

1. 安装 Node.js

BrowserSync是基于Node.js的, 是一个Node模块, 如果您想要快速使用它,也许您需要先安装一下Node.js
安装适用于Mac OS,Windows和Linux

2. 安装 BrowserSync

您可以选择从Node.js的包管理(NPM)库中 安装BrowserSync。打开一个终端窗口,运行以下命令:

npm install -g browser-sync

您告诉包管理器下载BrowserSync文件,并在全局下安装它们,您可以在所有项目(任何目录)中使用。

 

当然您也可以结合gulpjs或gruntjs构建工具来使用,在您需要构建的项目里运行下面的命令:

npm install --save-dev browser-sync

3. 启动 BrowserSync

一个基本用途是,如果您只希望在对某个css文件进行修改后会同步到浏览器里。那么您只需要运行命令行工具,进入到该项目(目录)下,并运行相应的命令:

静态网站

如果您想要监听.css文件, 您需要使用服务器模式。 BrowserSync 将启动一个小型服务器,并提供一个URL来查看您的网站。

// --files 路径是相对于运行该命令的项目(目录) 
browser-sync start --server --files "css/*.css"

如果您需要监听多个类型的文件,您只需要用逗号隔开。例如我们再加入一个.html文件

// --files 路径是相对于运行该命令的项目(目录) 
browser-sync start --server --files "css/*.css, *.html"
// 如果你的文件层级比较深,您可以考虑使用 **(表示任意目录)匹配,任意目录下任意.css 或 .html文件。 
browser-sync start --server --files "**/*.css, **/*.html"

动态网站

如果您已经有其他本地服务器环境PHP或类似的,您需要使用代理模式。 BrowserSync将通过代理URL(localhost:3000)来查看您的网站。

// 主机名可以是ip或域名
browser-sync start --proxy "主机名" "css/*.css"

在本地创建了一个PHP服务器环境,并通过绑定Browsersync.cn来访问本地服务器,使用以下命令方式,Browsersync将提供一个新的地址localhost:3000来访问Browsersync.cn,并监听其css目录下的所有css文件。

browser-sync start --proxy "Browsersync.cn" "css/*.css"

结合构建工具

我们建议您结合gulp或grunt来使用,我们这里有详细说明Gulp文档、Grunt文档。如果您还没有使用gulp或grunt,那么可以通过以上方式创建Browsersync

gulp

首先,您需要安装 Browsersync 和 依赖包 Gulp 。如果你是第一次安装,那么你可以通过–save-dev命令,这将会自动在你的package.json里添加依赖,下一次再安装时,你只需要npm install

$ npm install browser-sync gulp --save-dev

然后,在您的 gulpfile.js 文件里使用它们。

var gulp        = require('gulp');
var browserSync = require('browser-sync').create();

// 静态服务器
gulp.task('browser-sync', function() {
    browserSync.init({
        server: {
            baseDir: "./"
        }
    });
});

// 代理

gulp.task('browser-sync', function() {
    browserSync.init({
        proxy: "你的域名或IP"
    });
});

 grunt

首先,你需要安装 Browsersync 插件

$ npm install grunt-browser-sync --save-dev

… 然后将此行添加到您的 Gruntfile.js

grunt.loadNpmTasks('grunt-browser-sync');

我们来看一个简单的CSS例子,使用内置的服务器引用静态HTML / CSS / JS文件。这个单独的配置将创建一个小型服务器(使用当前的工作目录为基准),当你的CSS文件修改后,这些变化将会自动注入到浏览器里,实时显示。

browserSync: {
    bsFiles: {
        src : 'assets/css/*.css'
    },
    options: {
        server: {
            baseDir: "./"
        }
    }
}

如果你已经有一个本地的服务器设置(虚拟主机等),只需要告诉Browsersync,剩下的工作将由它为你完成。

browserSync: {
    dev: {
        bsFiles: {
            src : 'assets/css/style.css'
        },
        options: {
            proxy: "local.dev"
        }
    }
}

关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流