使用Weinre调试webapp
移动web的调试一直是个难题,前期可以使用模拟器来协助调试,但到了真机调试阶段就让人非常头痛。而 Weinre就是解决这难题的利器。 Weinre的本意是Web Inspector Remote,它是一种远程调试工具。功能与Firebug、Webkit inspector类似,可以帮助我们即时更改页面元素、样式,调试JS等。
weinre的安装:
首先下载nodejs,博主的环境是debian,在http://nodejs.org/download/ 下载源码包
解压并移动
tar xvf node-v0.10.26.tar.gz mv node-v0.10.26 /opt/nodejs //移动到/opt/nodejs
进入目录并检查环境
cd /opt/nodejs ./configure
Nodejs安装需要python, 如果python版本太低,请安装合适的python版本,建议使用python-2.7的版本,还需要GCC/G++,如果你计划在Node.js中启用网络加密,OpenSSL的加密库也是必须的。该加密库是libssl-dev,可以通过apt-get install libssl-dev等命令安装。
安装nodejs
sudo make sudo make install
安装的过程会比较久,我的渣机子足足运行了一个小时
PS:
要保证user有sudo权限,user不在sudo组的话,参考以下:
解决方案:
首需要切换到root身份
su -
(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)
然后
visudo
//切记,此处没有vi和sudo之间没有空格
1、移动光标,到最后一行
2、按a,进入append模式
3、输入
your_user_name ALL=(ALL) ALL
4、按Esc
5、输入“:w”(保存文件)
6、输入“:q”(退出)
这样就把自己加入了sudo组,可以使用sudo命令了
通过npm安装Weinre
npm -g install weinre
weinre的启动:
Weinre默认路径为/usr/local/lib/node_modules/weinre/weinre
初始端口为8080
进入安装目录,
weinre --boundHost -all-
就可以启动weinre
也可以指定端口参数
比如
weinre --boundHost -all- --httpPort 8081
如果是外网的话还需要在路由器里设置端口映射。
weinre的调试:
webapp的启动页面加上下面的js引用
<script type="text/javascript">http://192.168.1.101:8081/target/target-script-min.js#{app 标识 }</script>
其中{app标识}是webapp的唯一标识,任意字符串
启动webapp之后,访问http://192.168.1.101:8081/client/#{app标识},注意,这里的http后面的网址需要和script中的一致,连接上之后可能在首页上不显示客户端已连接,直接访问调试的网址即可。
看到这个界面应该很熟悉吧,尤其是上面的几个面板
A 面板切换,用过 Chrome 或者 Safari 开发者工具的对这个界面肯定很熟悉。
B 连接到调试服务器的页面,即可以调试的页面。
C 连接到调试服务地的客户端,当前只有一个。
D 调试服务器属性,绑定的端口和调试服务器能够响应式的 IP 地址列表。
本人这里调试的是一个phonegap项目,还是比较方便的
http://people.apache.org/~pmuellr/weinre/docs/latest/Running.html
这里有更加详细的weinre用法,可以参考。