当前位置:首页 > 技术文章 > 正文内容

手抓手带你使用 vue devtools(vue devtools功能)

zonemu2个月前 (07-26)技术文章26

1. 安装

(1)在github上下载devtools源码,地址:
https://github.com/vuejs/vue-devtools

(2)下载后进入vue-devtools工程,执行npm install,然后npm run build。

(3)编译完成后修改
/shells/chrome/manifest.json的persistant为true

(4)打开浏览器右上角的设置-->更多工具-->扩展程序,打开开发者模式

(5)然后将刚刚编译后的shells下的chrome文件夹拖拽到浏览器中。

2. 使用

只有当Vue.config.devtools === true时才可使用devtools。

2.1 components面板 components面板内可以看到我们定义的一系列组件,选中相应的组件后,右侧面板可以看到组件内的data、props、computed、attrs属性。

同时,data属性是可以编辑的,编辑后页面也会实时改变

选中Select后可以实时的选中页面中的组件,快速定位到调试面板对应的组件

鼠标右键 --> Inspect Vue component,也可以快速定位组件。 可以根据组件名字去筛选组件

还可以筛选数据

点击Inspect Dom可以直接定位到Elements面板内的DOM元素

每个组件实例都有一个变量,当前选中的组件是$vm0,其余组件从上到下升序赋值($vm1、$vm2、$vm3...),控制台直接打印$vm0可以直接看到这个实例。


2.2 Vuex面板

Vuex面板可以记录每一次mutation。点击对应的mutation记录在右边可以看到mutation提交的详细信息,跟此时state的状态。

同时你可以筛选mutation与state

鼠标滑过mutation记录会出现commit、revert、Time Travel, commit: 保存指定的mutation,mutation记录最上面Base State会变为这次mutation的state,同时这次commit之前的mutation都会删掉。 revert: 还原到指定mutation,当前的state变为知道mutation的state,revert之后的记录都会删掉。 Time Travel: 时光旅行,state的数据切换到指定mutation,但所有记录都会保存。

Vuex面板支持导出/导入state的功能 导出: 将state复制到剪切板。 导入: 支持将json数据直接导入到vuex中。


2.3 Events面板

Events面板可以记录每次$emit触发的事件,右侧可以看到事件的详细信息,同样支持筛选。

name: 事件名 type: 事件类型,为了兼容Vue1.x,在Vue1.x中通过$dispatch触发事件,此时type为$dispatch source: 触发事件的组件 paload: 载荷,触发事件时传递的参数

2.4 Routing面板

Routing面板有个选项:history、routes history记录了每一次路由变化,但是注意这里的history !== window.history,每一次路由变化都会push到history里,即便你是this.$replace跳转的路由。

右侧会显示详细信息,面板当中的from、to跟vue-router路由钩子中from、to代表相同的意思。

routes展示所有的路由,基本就是vue-router中routes的可视化展示。

2.5 Performance

performance可以帮助我们分析页面跟组件的渲染情况,它有两个功能Frames per second、Component render。

Frames per second(fps): 浏览器每秒渲染多少帧,即每秒渲染多少次页面。蓝色柱体越高代表fps越高,代表页面越流畅。它同时可以记录引起页面渲染的原因,例如M、E、R。 M: mutation E: events R: routes

Component render可以记录组件的渲染时间,注意这个时间是累加的,例如这个组件渲染了两次,那渲染时间是这两次的总时长。 同时也可以看到组件内每个生命周期钩子的执行时长。

2.6 Settings

Normalize component name: Components面板组件名字显示风格,origin name原始组件名,Pascal case大驼峰,Kebab case中横线。

Editable props: 是否支持props属性可编辑,默认情况下components面板内的props属性不可编辑。

New Vuex backend: 是否让Vuex面板单独在后台运行,更快且更少的内存占用。

Theme: 主题。 Time Format -> Display milliseconds: 时间格式显示到毫秒,目前未看到在哪体现。 Atuoload Vuex state: 是否自动加载vuex state,目前未看到效果。

总结

希望这篇文章可以帮助大家更好的使用 vue-devtools

不要忘记点赞呀:D

相关文章

Ubuntu 24.10发行版登场:Linux 6.11内核、GNOME 47桌面环境

IT之家 10 月 11 日消息,Canonical 昨日发布新闻稿,正式推出代号为 Oracular Oriole 的 Ubuntu 24.10 发行版。新版在内核方面升级到最新 6.11 版本,并...

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、co...

基于Docker构建安装Git/GitLab,以及制作springboot工程镜像

今天给大家分享的是《领先的开源自动化服务器Jenkins的应用实战》之基于Docker安装构建Git/GitLab版本控制与代码云存储的场所;使用Git管理项目,springboot工程制作镜像知识体...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的...

10 个鲜为人知但非常有用的 Linux 命令

Linux 是一个功能强大的操作系统,其命令行工具为用户提供了无限的可能性。除了广为人知的命令如 ls、cd 和 grep,Linux 中还隐藏着许多鲜为人知但极其实用的命令。这些工具往往功能强大,能...

资深程序员是如何工作的?(资深程序员是什么意思)

最近在B站看到一个老外分享的一个资深程序员工作心得,他讲得很好,总结分享一下:1. 不懂就查资料,不需要面面俱到要点:编程不是记忆语言,而是理解模式和查找答案。资深开发者也常谷歌搜索。 重要性:消除“...