UniDevTools - UniApp(前端app)调试工具使用

news2025/5/13 15:50:34

使用介绍 | UniDevTools

兼容框架:

Vue2+js+vuexVue3+ts+vuex(pinia)

兼容平台:

H5APP微信小程序APP-NVUE其他小程序UniAppX
√(大部分功能支持)未测试× (待办中)

下载安装

将下载好的源码解压至项目根目录,文件夹命名为 devTools

├─pages
│  ├─ 项目页面文件
|  └─ ...
├─devTools   [DevTools调试工具目录]
│  ├─core         核心源码
│  ├─page         浮窗页面及组件
│  ├─index.js     入口文件
│  ├─config.js    配置文件
│  └─tool.vue     自定义工具组件
├─App.vue
├─main.js
├─manifest.json
├─package.json
├─uni.scss
└─...

1.注册路由​

打开/pages.json加入以下代码:

{
  "pages": [...],
  "subPackages": [
    {
      "root": "devTools/page",
      "name": "devToolsPage",
      "pages": [
        {
          "path": "index",
          "style": {
            "navigationStyle": "custom"
            // #ifdef APP-PLUS
            ,
            "softinputMode": "adjustResize",
            "backgroundColor": "transparent",
            "animationDuration": 1,
            "animationType": "none",
            "popGesture": "none",
            "bounce": "none",
            "titleNView": false
            // #endif
          }
        }
      ]
    }
  ]
}

将工具页/devTools/page注册为分包页面,自动兼容小程序\App\H5

2.引入调试工具&组件注册​

/main.js中加入以下代码:

Vue2:
import Vue from 'vue'
import App from './App'

//挂载Devtools
import devTools from "./devTools/index.js";
import devToolsConfig from './devTools/config.js';
Vue.use(devTools, devToolsConfig)

//注册小程序端专用的拖动浮标组件
import mpDevBubble from './devTools/core/components/mpDevBubble.vue'
Vue.component("mpDevBubble", mpDevBubble)

...
const app = new Vue({...})

Vue3:

import devTools from "./devTools/index.js";
import devToolsConfig from './devTools/config.js';
import mpDevBubble from './devTools/core/components/mpDevBubble.vue'
import devToolsVueMixin from "./devTools/core/proxy/vueMixin.js"

export function createApp() {
  const app = createSSRApp(App);

  //混入DevTools生命周期监听
  app.mixin(devToolsVueMixin)

  //挂载Devtools
  app.use(devTools, devToolsConfig)
  //注册小程序端专用的拖动浮标组件
  app.component("mpDevBubble", mpDevBubble)

  return {app,...};
}

3.挂载日志监听​

/app.vue中加入以下代码:

Vue2:
export default {
  onError(err) {
    try {
      // 挂载devTools全局报错拦截
      uni.$dev.errorReport(err, "at App.vue onError", "oe");
    } catch (error) {}
  },
  onLaunch(option) {
    try {
      // 挂载APP启动日志提交
      uni.$dev.logReport("appOnLaunch>" + JSON.stringify(option));
    } catch (error) {}
  }
}
Vue3:
import { onError, onLaunch } from '@dcloudio/uni-app';
onError((err)=>{
  try {
    // 挂载devTools全局报错拦截
    uni.$dev.errorReport(err, "at App.vue onError", "oe");
  } catch (error) {}
})
onLaunch((ctx) => {
  try {
    // 挂载APP启动日志提交
    uni.$dev.logReport("appOnLaunch>" + JSON.stringify(ctx));
  } catch (error) {}
})

4.小程序端使用调试气泡

APP端和H5端自动挂载气泡浮窗,无需手动注册。小程序无法动态创建节点,所以需要注册调试气泡组件

在需要的页面vue文件内引入组件:

<template>
  <view>
    ...
    <mpDevBubble />
  </view>
</template>

5.启动项目开始试用​

配置文件/devTools/config.js已默认开启调试气泡框
自定义配置可参考:参数配置

效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2374761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring中的@Lazy注解详解

一、核心功能与作用 Lazy 注解是 Spring 框架中用于延迟 Bean 初始化的核心工具&#xff0c;通过将 Bean 的创建推迟到首次使用时&#xff0c;优化资源利用和启动性能。其核心功能包括&#xff1a; 延迟初始化 默认情况下&#xff0c;Spring 在容器启动时立即初始化所有单例 …

视觉-语言-动作模型:概念、进展、应用与挑战(上)

25年5月来自 Cornell 大学、香港科大和希腊 U Peloponnese 的论文“Vision-Language-Action Models: Concepts, Progress, Applications and Challenges”。 视觉-语言-动作 (VLA) 模型标志着人工智能的变革性进步&#xff0c;旨在将感知、自然语言理解和具体动作统一在一个计…

语义分割模型部署到嵌入式终端的通用操作流程

以下是语义分割模型部署到嵌入式终端的通用操作流程&#xff0c;结合不同硬件平台&#xff08;如华为Atlas、地平线J5、树莓派等&#xff09;的共性需求整理而成&#xff1a; 一、环境准备与工具链配置 1. 嵌入式开发环境搭建 安装交叉编译工具链&#xff08;如ARM-GCC&…

R1-Searcher:用强化学习解锁大语言模型检索新能力!

R1-Searcher&#xff1a;用强化学习解锁大语言模型检索新能力&#xff01; 大语言模型&#xff08;LLMs&#xff09;发展迅猛&#xff0c;却常因依赖内部知识而在复杂问题上“栽跟头”。今天解读的论文提出R1-Searcher框架&#xff0c;通过强化学习提升LLMs检索能力。它表现超…

第一篇 世界观安全

目录 STRIDE模型 五大原则 一黑白名单 二最小权限原则 三纵深防御原则 四数据和代码分离 五不可预测原则 安全的问题本质是信任问题。 并且安全是一个持续的过程。 安全的三要素&#xff1a;机密性&#xff0c;完整性&#xff08;可以采用数字签名&#xff09;&#x…

mac M2能安装的虚拟机和linux系统系统

目前网上的资料大多错误&#xff0c;能支持M2的很少。 推荐安装的改造过的centos7也无法进行yum操作&#xff0c;建议安装centos8 VMware Fusion下载地址&#xff1a; https://pan.baidu.com/s/14v3Dy83nuLr2xOy_qf0Jvw 提取码: jri4 centos8下载地址&#xff1a; https://…

无偿帮写毕业论文

以下教程教你如何利用相关网站和AI免费帮你写一个毕业论文。毕竟毕业论文只要过就行&#xff0c;脱产学习这么多年&#xff0c;终于熬出头了&#xff0c;完成毕设后有空就去多看看亲人好友&#xff0c;祝好&#xff01; 一、找一个论文模板(最好是overleaf) 废话不多说&#…

智能网联汽车“内外协同、虚实共生”的通信生态

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 钝感力的“钝”&#xff0c;不是木讷、迟钝&#xff0c;而是直面困境的韧劲和耐力&#xff0c;是面对外界…

Linux操作系统从入门到实战(六)Linux开发工具(上)详细介绍什么是软件包管理器,Linux下如何进行软件和软件包的安装、升级与卸载

Linux操作系统从入门到实战&#xff08;六&#xff09;Linux开发工具&#xff08;上&#xff09;详细介绍什么是软件包管理器&#xff0c;Linux下如何进行软件和软件包的安装、升级与卸载 前言一、 软件包管理器1.1 传统安装方式的麻烦&#xff1a;从源代码说起1.2 软件包&…

物流无人机自动化装卸技术解析!

一、自动化装卸技术模块的技术难点 1. 货物多样性适配 物流场景中货物包装类型、尺寸、材质差异大&#xff0c;如农产品、医疗物资、工业设备等&#xff0c;要求装卸模块具备高度柔性化设计。例如&#xff0c;单元货物需视觉识别系统进行单个抓取&#xff0c;而整托货物需大…

IOT藍牙探測 C2 架構:社會工程/節點分離防追尋

BMC 地址:https://github.com/MartinxMax/bmc/releases/tag/V1.5 藍牙 MAC 偵測節點的物聯網分散式 C2 架構&#xff0c;可與 S-Cluster 交互。 場景 A&#xff1a;潛伏偵測 駭客組織會將 BMC 裝置秘密部署在目標建築物周圍&#xff08;例如牆外、通風口或垃圾間等隱蔽地點&…

FreeRTOS学习记录(变量命名规则全解、文件介绍)

目录 FreeRTOS 变量命名规则详解​ ​一、变量命名前缀规则​ &#xff08;一&#xff09;数据类型相关前缀​ &#xff08;二&#xff09;功能模块相关前缀​ &#xff08;三&#xff09;宏定义 二、变量命名与文件的关系​ &#xff08;一&#xff09;核心源文件中的变…

Qt 中 QWidget涉及的常用核心属性介绍

欢迎来到干货小仓库 一匹真正的好马&#xff0c;即使在鞭子的影子下&#xff0c;也能飞奔 1.enabled API说明isEnabled()获取到控件的可用状态setEnabled()设置控件是否可使用.true&#xff1a;可用&#xff0c;false&#xff1a;禁用 禁用&#xff1a;指该控件不能接收任何用…

Open CASCADE学习|由大量Edge构建闭合Wire:有序与无序处理的完整解析

在CAD建模中,构建闭合的Wire(线框)是拓扑结构生成的基础操作。OpenCascade(OCCT)作为强大的几何建模库,支持从离散的Edge(边)构建Wire,但在实际应用中,边的有序性直接影响构建的成功率。本文将详细探讨有序与无序两种场景下的实现方法,并提供完整代码示例。 一、有序…

linux 开发小技巧之git增加指令别名

众所周知&#xff0c;git的指令执行时都得敲好几个字符才能补充上来&#xff0c;比如常用的git status&#xff0c;是不是要将全部的字符一个个地在键盘敲上来&#xff0c;有没有更懒惰点办法&#xff0c;可以将经常用到的git命令通过其他的别名的方式填充&#xff0c;比如刚刚…

一文读懂如何使用MCP创建服务器

如果你对MCP&#xff08;模型上下文协议&#xff09;一窍不通&#xff0c;在阅读本篇文章之前&#xff08;在获得对MCP深度认识之前&#xff09;&#xff0c;你可以理解为学习MCP就是在学习一个python工具库mcp&#xff0c;类似于其它python工具库一样&#xff0c;如numpy、sys…

Python Day23 学习

继续SHAP图绘制的学习 1. SHAP特征重要性条形图 特征重要性条形图&#xff08;Feature Importance Bar Plot&#xff09;是 SHAP 提供的一种全局解释工具&#xff0c;用于展示模型中各个特征对预测结果的重要性。以下是详细解释&#xff1a; 图的含义 - 横轴&#xff1a;表示…

VS Code 重磅更新:全新 MCP 服务器发现中心上线

目前各种 MCP 客户端层出不穷&#xff0c;但是安装 MCP 服务却格外繁琐&#xff0c;尤其 VS Code 中无界面化的 MCP 服务配置方式&#xff0c;效率较低。 Copilot MCP 是一个 VS Code 插件&#xff0c;在今天发布的新版本中&#xff0c;插件支持了自动发现与安装开源 MCP 服务…

一、网络基础

IPv4&#xff1a;32位二进制 -- 点分十进制标识 192.168.1.1&#xff08;连续的32位&#xff0c;为了好看方便每8位一段&#xff09; IPv6&#xff1a;128位二进制 IP&#xff08;Internet协议&#xff09; 洪泛&#xff1a;除流量进入接口外的所有接口的复制 OSI模型&#…

基于HTML+JavaScript+CSS实现教学网站

摘要 21世纪是信息化的时代&#xff0c;信息化物品不断地涌入我们的生活。同时&#xff0c;教育行业也产生了重大变革。传统的身心教授的模式&#xff0c;正在被替代。互联网模式的教育开辟了一片新的热土。 这算是对教育行业的一次重大挑战。截至目前&#xff0c;众多教育行…