远程调试工具:Weinre

jopen 10年前

如今人们也越来越习惯在手机上浏览网页,而在手机上这些针对桌面浏览器设计的网页经常惨不忍睹。Web应用开发者需要针对手机进行界面的重新设计,但是手机上并没有称心如意的调试工具(如Firebug、web inspector),重新设计界面的工作往往事半功倍。本文介绍的调试工具Weinre 就是解决这一问题的优秀调试工具。

Weinre是什么?

Weinre代表Web Inspector Remote,是一种远程调试工具。举个例子,在电脑上可以即时 的更改手机上对应网页的页面元素、样式表,或是查看Javascript变量,同时还可以看到手机上页面的错误和警告信息. 下图所示中的例子,通过在console中运行“document.body.style.backgroundcolor = 'green';” 即时改变了手机上网页的背景色。该项目是 Apache Cordova 的一部分。

远程调试工具:Weinre

图1: 桌面的debug客户端与手机上的对应页面

运行原理

Weinre作为一种远程调试工具,在结构上分为三层:

  • 目标页面(target):被调试的页面,页面已嵌入weinre的远程js,下文会介绍;

  • Debug客户端(client):本地的Web Inspector调试客户端;

  • Debug服务端(agent):一个HTTP Server,为目标页面与Debug客户端建立通信。

远程调试工具:Weinre

获取Weinre

在任何的支持 Node.js 环境的系统下通过包管理器(npm)即可安装Weinre

npm install -g weinre

使用Weinre进行远程调试

1 启动 WeinreDe bug 服务端

weinre --httpPort 8080 --boundHost -all-

2 通过PC浏览器(WebKit内核)打开 WeinreDe bug 客户端

Open in your pc browser http://localhost[Your IP]:8080

远程调试工具:Weinre

3 在你需要调试的页面加上通信用的脚本

<script src="http://localhost[Your IP]:8080/target/target-script-min.js#anonymous"></script>

4 在手机上访问你的测试页面,在电脑上进入到 WeinreDe bug 客户端 看是否通信成功,如果一切没问题,可见到如下的页面

Open in your pc browser http://localhost[Your IP]:8080/client/#anonymous

远程调试工具:Weinre

5 最后跟你平时一样实时调试你的页面吧,是不是很爽。

项目主页:http://www.open-open.com/lib/view/home/1407745205707