在真机环境下调试移动端H5的时候,无法像浏览器一样打开控制台进行console调试,那么我们可以在前端项目中引入vconsole,便于我们在真机环境下调试移动端H5项目
vConsole是一个轻量、可拓展、针对手机网页的前端开发者调试面板。
详细文档可查看:https://gitee.com/mirrors/vConsole/
功能特性
日志(Logs): console.log|info|error|…
网络(Network): XMLHttpRequest, Fetch, sendBeacon
节点(Element): HTML 节点树
存储(Storage): Cookies, LocalStorage, SessionStorage
手动执行 JS 命令行
自定义插件
方法一:使用 npm(推荐)
npm install vconsole
在app.vue中处理
import urlConfig from "@/utils/urlConfig"; // #ifndef MP import VConsole from 'vconsole'; // #endif let vConsole = null; //移动H5调试器 export default { onLaunch: function() { // #ifndef MP this.loadVConsole(); // #endif }, methods: { loadVConsole() { //初始化vConsole,用于H5调试用 if (urlConfig.isVConsole) { //开启调试时 let systemInfo = getSystemInfo(); if (!(systemInfo.uniPlatform == 'app' || systemInfo.uniPlatform == 'web')) { // 当为app或者H5时 return; } vConsole = new VConsole({ defaultPlugins: ['system', 'network', 'element', 'storage'], // 可以在此设定要默认加载的面板 maxLogNumber: 1000, // disableLogScrolling: true, onReady: () => { console.log('vConsole: onReady'); // 置顶最高层级 var vcSwitch = document.getElementsByClassName('vc-switch')[0]; vcSwitch.style.zIndex = '9999999999'; var vcMask = document.getElementsByClassName('vc-mask')[0]; vcMask.style.zIndex = '9999999999'; var vcPanel = document.getElementsByClassName('vc-panel')[0]; vcPanel.style.zIndex = '9999999999'; // console.log(vcSwitch, vcMask, vcPanel) console.log(this.globalData.systemInfo) }, onClearLog: () => { console.log('vConsole: onClearLog'); } }); } }, destroyVConsole() { // 结束调试后,可移除掉 vConsole.destroy(); } } }
通过urlConfig.js控制是否显示
var service = { sType: 'testB', //环境类型:exploit-开发环境,testB-测试环境,uat-uat环境,prod-生产环境 // sType: 'exploit', // sType: 'uat', // sType: 'prod', miniVersionTime: '2023-05-22 15:20', //发版时间 miniVersionNumber: "1.0.1", //小程序版本号 isVConsole: false, //是否开启移动H5调试器 } module.exports = { sType: service.sType, miniVersionTime: service.miniVersionTime, miniVersionNumber: service.miniVersionNumber, isVConsole: service.isVConsole, }