【前端】Devtools使用

react

  • 作用:检查 React components,编辑 props 和 state,并识别性能问题。
  • 安装
    chrome 插件
    其他浏览器:安装 react-devtools npm 包
    终端react-devtools打开开发者工具,将以下 <script> 标签添加到你网站的 <head> 开头来连接你的网站 <script src="http://localhost:8097"></script>

vue

  • 安装&使用
  1. chrome 插件
  2. vite 插件:如果使用vite必选
npm add -D vite-plugin-vue-devtools
//  Configuration Vite
import { defineConfig } from 'vite'
import vueDevTools from 'vite-plugin-vue-devtools'

export default defineConfig({
  plugins: [
    vueDevTools({
		//在这里放options
	  appendTo: /main\.ts$/, // 在 main.ts 里注入,而不是往 body 里加 <script>
      componentInspector: true, // 启用组件检查器(默认就是 true)
      launchEditor: 'webstorm', // 点击 "open in editor" 时用 WebStorm 打开
	}),
  ],
})
//选项
interface VitePluginVueDevToolsOptions {
  /**
   * append an import to the module id ending with `appendTo` instead of adding a script into body
   * useful for projects that do not use html file as an entry
   *
   * WARNING: only set this if you know exactly what it does.
   * @default ''
   */
  appendTo?: string | RegExp

  /**
   * Enable vue component inspector
   *
   * @default true
   */
  componentInspector?: boolean | VitePluginInspectorOptions

  /**
   * Target editor when open in editor (v7.2.0+)
   *
   * @default code (Visual Studio Code)
   */
  launchEditor?: 'appcode' | 'atom' | 'atom-beta' | 'brackets' | 'clion' | 'code' | 'code-insiders' | 'codium' | 'emacs' | 'idea' | 'notepad++' | 'pycharm' | 'phpstorm' | 'rubymine' | 'sublime' | 'vim' | 'visualstudio' | 'webstorm' | 'rider' | string
}

1)appendTo?: string | RegExp
默认值:‘’(不用)
含义:把调试工具的入口代码 追加到指定的模块里,而不是往 <body> 注入 <script>
使用场景:有些项目不是以 HTML 作为入口(比如 Electron、SSR、单文件入口),就没法直接往<body>加脚本,这时可以指定一个模块文件(字符串路径或正则匹配)作为注入点。
风险提示:官方也说了“只有非常清楚原理时才用”,因为如果随便乱填,可能会导致 DevTools 注入失败或项目打包报错。
2)componentInspector?: boolean | VitePluginInspectorOptions
默认值:true
含义:是否启用 Vue 组件检查器 (Inspector)。
启用后,你可以在浏览器里按住 Alt(可配合鼠标点击)直接定位到某个组件源码。
如果传对象,可以进一步配置 Inspector(比如快捷键、自定义行为)。
3. launchEditor?: ...
默认值:‘code’(即 VS Code)
含义:当你在浏览器中点击 “在编辑器中打开组件” 时,用哪个编辑器打开。
可选值:‘code’ | ‘webstorm’ | ‘idea’ | ‘sublime’ | ‘vim’ | … 等,也可以自定义字符串(比如设置为本机的可执行命令)。
3. 独立应用

npm add -g @vue/devtools #- D/-g
vue-devtools #启动

根据安装方式,使用方式不同
1)全局包
需要将代码<script src="http://localhost:8098"></script>放入<head>
或者调试远端设备,

<script>
  window.__VUE_DEVTOOLS_HOST__ = '<your-local-ip>' // default: localhost
  window.__VUE_DEVTOOLS_PORT__ = '<devtools-port>' // default: 8098
</script>
<script src="http://<your-local-ip>:8098"></script>

需要注意上述要在部署到生产环境之前移除
2)依赖包
./node_modules/.bin/vue-devtools执行

//直接项目中引入 在main.ts 一定要在 createApp() 之前 调用
import { devtools } from '@vue/devtools'
if (process.env.NODE_ENV === 'development')
  devtools.connect(/* host (the default is "http://localhost"), port (the default is 8090) */)//这个在调试移动设备常用
//确保在创建vue app之前调用connect

//修改配置 比如port
PORT=8000 vue-devtools //执行命令中添加

window.__VUE_DEVTOOLS_PORT__ = 8000

devtools.connect(/ host /, 8000)

//链接远程服务器上的页面 用到ngrok这个proxy 需要下载 https同理
ngrok http 8098//启动vue-devtools之后运行
devtools.connect('https://example.ngrok.io', null)//注意千万不要设置端口,ngrok自动设置好了
  • 功能
  1. 实时编辑属性:Vue DevTools允许您直接实时编辑属性,并立即查看反映的更改。此功能对于快速测试更改特别有用,而无需重新启动应用程序或手动更新代码。
  2. 时间旅行调试:最强大的功能之一是它能够执行时间旅行调试。这意味着您可以随时检查商店的状态,让您跟踪错误,并了解应用程序的状态如何随时间变化、性能记录。
Event Info 
component : Hello 
type: mount
measure : start //性能测量起点。

Group Info //说明这一条事件属于一个 事件组(比如一个大操作里包含多个子事件)。
events : 2 //表示这个组里有 2 个事件 比如 Hello start和Hello end
  1. Vue路由器集成:查看路由列表及其详细信息。
path: /hey/: id
name : hey //路由命名
regexp : /^\/hey\/([^/]+?)\/?$/i //vue router把路由规则编译成正则表达式匹配url
• keys : "id" •//参数定义
	0: Object,//参数列表里参数按顺序定义
	name : id,
	optional: false //能否省略
	repeatable: false //能否重复
• meta: Object
• score : "80 | 60"//Vue Router 内部给路由规则算的 匹配优先级分数,分数越高,匹配优先。
  1. Pinia集成:该工具将所有发出的事件收集到一个位置,允许您监控和跟踪应用程序的自定义事件,包括每个事件的源组件、名称、大小和有效负载。此功能对于识别性能瓶颈和优化您的应用程序很有用。
  2. Inspect 面板:组件实例在内存中占用的状态数据量、耗时
  3. 其他有用的功能,如支持多个app、分屏等

nuxt-devtools

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七灵微

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值