深圳幻海软件技术有限公司 欢迎您!

为 Vue 官方状态库 Pinia 增加时间旅行调试功能 - Colada

2023-02-28

Pinia​ 是Vue新的官方状态管理库,兼容Vue2和Vue3,替代 VueX。与它要替换的VueX相比,它提供了更简单、更简洁的API,并引入了对Typescript的原生支持。拥有使用VueX的现有项目的Vue开发人员会想要切换到Pinia,因为VueX将不再得到官方支持,

Pinia​ 是 Vue 新的官方状态管理库,兼容 Vue2 和 Vue3,替代 VueX。与它要替换的 VueX 相比,它提供了更简单、更简洁的 API,并引入了对 Typescript 的原生支持。拥有使用 VueX 的现有项目的 Vue 开发人员会想要切换到 Pinia,因为 VueX 将不再得到官方支持,并且开始新的 Vue 项目的开发人员可能出于同样的原因想要使用 Pinia。Pinia 得到了 Vue devtools 的支持,但是因为 Pinia 和 Vue 3 刚刚在今年早些时候发布,所以这些 devtools 目前缺少 Pinia 的一些功能,特别是时间旅行调试。

时间旅行调试是一种工具,可用于捕获进程执行时跟踪,然后在以后向前和向后重播进程。时间旅行调试可以帮助你更轻松地调试问题,方法是让你“倒退”调试器会话,而无需重现问题,直到找到 bug。

而 Colada 就是 Pinia 的完美伴侣,注意到这种缺乏时间旅行调试的能力,所以我们决定在 Chrome 扩展中实现它,并为现有的 Vue 开发工具提供一个插件。你可以在你的 Vue-Pinia 应用程序中安装 Colada 插件,并点击代表存储变化的节点,动态改变应用程序的状态,回到以前的快照,改善 Vue-Pinia 应用程序的调试过程中的复杂状态变化。此外,如果你在安装插件的同时安装 Colada Chrome 扩展,你可以访问一个单独的 Chrome devtools 面板,提供同样的时间旅行功能和增强的 UI。

核心功能

  • 直接集成到 Vue.js DevTools ,因此开发人员可以使用 Colada 而无需离开他们现有的 devtool 配置。
  • 🕰️ 时间旅行调试。
  • 🔎 用于查看 Vue 应用程序的 Pinia 状态的检查器面板。
  • 一个 Chrome DevTool 扩展,提供相同的功能和增强的 UI。

Vue.js DevTools 插件

Colada Chrome DevTool 扩展

安装

安装:VueDevTools 插件

  1. 确保已安装 Vue.js DevTools 扩展。
  2. 在应用的根目录中安装 Colada npm 包:npm install colada-plugin --save-dev。
  3. 将 Colada 添加到你的 Vue 应用程序。
import { createApp } from 'vue';  
import { createPinia } from 'pinia';  
import Colada, { PiniaColadaPlugin } from 'colada-plugin';  
import App from './App.vue';   
const app = createApp(App);  
const pinia = createPinia();  
app.use(pinia);  
pinia.use(PiniaColadaPlugin);  
app.use(Colada);  
app.mount('#app');
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

安装:Chrome 扩展

确保已安装 Vue.js DevTools。Colada Chrome 扩展有两种安装方式:

从 Chrome Web Store 安装

  1. 按照上面的说明将 colada-plugin 添加到你的 Vue 应用程序中。
  2. 导航到 Chrome Web Store 上的 Colada,然后单击添加到 Chrome 进行安装。

从源码安装

  1. 按照上面的说明将 colada-plugin 添加到你的 Vue 应用程序中。
  2. 将 colada 存储库(https://github.com/oslabs-beta/colada)克隆到你的计算机。
  3. 运行命令cd colada-extension && npm install && npm run build。
  4. 这将在/colada-extension 中创建一个新的 /dist 目录。
  5. 在 Chrome 中,导航到 chrome://extensions 。
  6. 在扩展页面的右上角,有一个“开发者模式”的开关,确保将其切换为ON。
  7. 在页面左上角,选择“Load Unpacked”,选择colada/colada-extension/dist 目录。

使用

使用 Colada Vue.js 开发工具插件

  • 导航到 Vue.js 开发工具。

时间旅行调试

  • 在时间线视图中选择Colada 时间线。
  • 关闭屏幕截图。
  • 单击时间轴上自动跟踪的事件以穿越时间并更新应用程序的状态。

Inspector Panel - 实时查看应用程序状态!

  • 在组件菜单下拉菜单中选择Colada
  • 单击你的 Pinia store 以查看实时更新的状态、操作和 getter。

Colada Plugin Timeline

Colada Plugin - Turn off screenshots

Colada Plugin - Inspector Panel

Colada Plugin - Navigate to Extension

Colada Timeline - Enables time-travel debugging

Git 仓库:https://github.com/oslabs-beta/colada。