移动端网页调试利器Browsersync

之前写移动端页面,需要真机调试的时候我一般有三种方式:
1.对于本地纯静态页面,本地启动tomcat,然后把代码拷贝进去。然后在移动端访问页面调试。
2.对于已经部署到服务器的页面,如果要修改局部效果的话,一般使用fiddler抓包工具。
3.还有就是直接在本地运行整个工程。

简单介绍

以上三种方法都不能实时显示修改效果,必须手动刷新,一直想找个能像pc端调试页面那样,方便调试手机端的工具。然后就看到了Browsersync,安装和使用都很方便。
下面借用官网的介绍:

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

移动端网页调试利器Browsersync_第1张图片
效果图

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

安装

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文件,并在全局下安装它们,您可以在所有项目(任何目录)中使用。
当然您也可以结合gulpjsgruntjs构建工具来使用,在您需要构建的项目里运行下面的命令:
npm install --save-dev browser-sync

启动

运行命令行工具,进入到该项目(目录)下,并运行相应的命令:

静态网站

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

执行这些命令之后,就会创建一个本地服务器并自动打开你的浏览器后访问http://localhost:3000地址。默认打开的是根目录下的index.html文件,如果要访问其他文件,手动输入相应路径即可。移动端直接访问http://pc端ip:3000,前提是这些设备要在同一个局域网。

动态网站

如果您已经有其他本地服务器环境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"

可视化管理页面

通过访问http://localhost:3001打开可视化页面来进行相关设置

移动端网页调试利器Browsersync_第2张图片
可视化页面

Browsersync+Webpack

安装插件
打开命令行终端,进入项目根目录,执行npm install browser-sync-webpack-plugin --save-dev安装Browsersync插件

配置webpack.config.js

var BrowserSyncPlugin = require('browser-sync-webpack-plugin');
new BrowserSyncPlugin({
        host: 'localhost',
        port: 3000,
        files: '',
        server: {
            //指定根目录
            baseDir: './'
        }
})

然后我们执行webpack -w命令时浏览器就会自动打开http://localhost:3000/

官方资料

官网
官方示例包
官方Browsersync静态示例视频

你可能感兴趣的:(移动端网页调试利器Browsersync)