手机前端开发调试利器 – vConsole

我们在开发手机版网页的时候,常常会出现下面的情景:

(1) 开发时,在自己电脑上运行得好好的,在手机上打开就挂了,但是手机上又看不到error log;

(2) 上线后,某用户表示页面失灵,但我们自己又重现不出来,看不到用户侧的出错信息。

如果说(1)还可以通过电脑连接手机以查看log来解决,那(2)在没有完善的前端上报体系时就非常被动了。

作为开发者,我们的诉求很简单:有没有快捷的方法在手机前端页面看到log日志?

答案是肯定的。

vConsole:一个轻量、可拓展、针对手机网页的前端开发者调试面板。

特性:

  • 查看 console 日志
  • 查看网络请求
  • 手动执行 JS 命令行
  • 自定义插件

上手

下载 vConsole 的最新版本。(不要直接下载 dev 分支下的 dist/vconsole.min.js)
或者使用 npm 安装:

npm install vconsole

引入 dist/vconsole.min.js 到项目中:

<script src=``"path/to/vconsole.min.js"``></script>

<script>

console.log(``'Hello world'``);

// 然后点击右下角 vConsole 按钮即可查看到 log

</script>

demo代码

<!DOCTYPE html>

<html>

<head>

<meta charset=``"utf-8"``>

<meta name=``"viewport" content=``"width=device-width, initial-scale=1.0"``>

<title>vConsole/Demo</title>

<link href=``"weui.min.css" rel=``"stylesheet"``/>

<link href=``"demo.css?v=1.1.0" rel=``"stylesheet"``/>

<script src=``"zepto.min.js"``></script>

<script src=``"zepto.touch.min.js"``></script>

``

<script src=``"vconsole.min.js?v=2.2.0"``></script>

</head>

<body ontouchstart>

<div ``class``=``"page"``>

<h1 ``class``=``"page_title"``>vConsole</h1>

<div ``class``=``"weui_text_area"``>

<p ``class``=``"weui_msg_desc"``>点击下面的按钮,即可打印 log。<br/>点击右下角按钮,即可查看 log。</p>

</div>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_primary js_btn_log" data-type=``"log"``>普通日志(log)</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_primary js_btn_log" data-type=``"info"``>信息日志(info)</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_primary js_btn_log" data-type=``"debug"``>调试日志(debug)</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_primary js_btn_log" data-type=``"warn"``>警告日志(warn)</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_primary js_btn_log" data-type=``"error"``>报错日志(error)</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_default js_btn_log_obj"``>打印Object</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_default js_btn_trigger_error"``>触发JS Error</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_default js_btn_log_sys"``>打印到系统面板</a>

<a href=``"javascript:;" class``=``"weui_btn weui_btn_default js_btn_ajax"``>发起AJAX</a>

</div>

<div ``class``=``"weui_toptips weui_notice" id=``"js_tips"``>已打印log</div>

</body>

<script>

console.info(``'欢迎使用 vConsole。vConsole 是一个由微信公众平台前端团队研发的 Web 前端开发者面板,可用于展示 console 日志,方便开发、调试。'``);

$(``'.js_btn_log'``).on(``'tap'``, ``function``(e) {

var type = $(``this``).data(``'type'``);

console[type](type); ``// 例如,console.log(type)

showTips();

});

$(``'.js_btn_log_obj'``).on(``'tap'``, ``function``(e) {

console.log({

string: ``'foobar'``,

number: 233,

boolean: ``true``,

object: {

foo: ``'bar'

},

array: [8, 7, 6],

func: ``function``() {}

});

showTips();

});

$(``'.js_btn_trigger_error'``).on(``'tap'``, ``function``(e) {

showTips();

var err = undefined;

err.a = 1;

});

$(``'.js_btn_log_sys'``).on(``'tap'``, ``function``(e) {

// 输出到系统面板

console.log(``'[system]'``, ``'当前时间戳:'``, (+``new Date()));

showTips();

});

$(``'.js_btn_ajax'``).on(``'tap'``, ``function``(e) {

// 发起一个AJAX

$.get(``'ajax.html'``, ``function``(resp) {

console.log(resp);

});

showTips();

});

// 用于页面内展示顶部tips

var tipsTimer;

function showTips() {

tipsTimer && clearTimeout(tipsTimer);

$(``'#js_tips'``).show();

tipsTimer = setTimeout(``function``() {

$(``'#js_tips'``).hide();

}, 1500);

}

</script>

</html>

|

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容