2023-04-06 19:51:01
Eruda和VConsole是解决移动端真机调试难题的有效工具,通过在页面中注入调试面板,模拟桌面浏览器DevTools功能,帮助开发者在移动设备上直接查看和操作调试信息。
一、工具选择:Eruda与VConsole的对比轻量简洁:体积小,加载速度快,对页面性能影响小。
核心功能:提供控制台(console)、网络请求(network)、元素(element)查看、存储(storage)管理和系统信息(system)等基础功能。
适用场景:快速查看日志、网络请求或简单DOM结构,适合对性能要求高、调试需求简单的项目。
功能全面:接近Chrome DevTools,除VConsole功能外,还包括Sources、Snippets、Resources、Info等,支持执行JS代码。
深入调试:可分析DOM、CSS、JS执行流程,查看页面加载的JS、CSS文件,设置有限断点。
适用场景:需要复杂调试,如分析JS逻辑错误、内存泄漏或页面性能瓶颈的项目。
VConsole:<script src="
Eruda:<script src="
建议:将<script>标签放在</body>之前,确保页面内容加载完毕后再初始化调试工具。
安装:npm install vconsole # 或 yarn add vconsolenpm install eruda # 或 yarn add eruda
初始化(在JS入口文件中):
VConsole:import VConsole from 'vconsole';if (process.env.NODE_ENV !== 'production') { new VConsole(); }
Eruda:import eruda from 'eruda';if (process.env.NODE_ENV !== 'production') { eruda.init(); }
关键点:加入process.env.NODE_ENV !== 'production'判断,避免生产环境意外加载调试工具。
Console:查看console.log、console.error等输出,执行JS代码,验证变量值、函数调用结果。
Elements:检查DOM结构和CSS样式,定位布局和样式问题。
Network:监控HTTP/HTTPS请求,包括请求头、响应头、请求体、响应体、状态码等,调试接口问题、数据传输异常。
Storage:查看和管理LocalStorage、SessionStorage、Cookies。
Sources/Resources(Eruda):查看页面加载的JS、CSS文件,设置有限断点。
性能:监控页面性能表现,避免调试工具对用户体验造成负面影响;用完即关或刷新页面后自动关闭。
安全:调试工具可能暴露敏感信息(如API密钥、用户数据、内部逻辑),需视为临时、高风险工具,用完后及时禁用。