关于 vue-expert
vue-expert 是用于开发和维护 Vue 应用的技能,适合使用 Vue 3 及相关工具的开发者。重点涉及 Composition API、Pinia、Nuxt.js、TypeScript 集成和应用性能优化。
主要功能
- 01Vue 3 Composition API 模式
- 02Pinia 和 Vuex 状态管理
- 03Nuxt.js 路由与 SSR
- 04TypeScript 集成
- 05可复用组件与组合式函数
- 06性能优化
适用场景
- 01构建 Vue 3 应用
- 02开发支持 SSR 的 Nuxt.js 项目
- 03创建可复用的组合式函数
- 04将 Vue 2 应用迁移到 Vue 3
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill vue-expert安装后在 Claude Code 中输入/vue-expert确认已加载。
附带文件EXAMPLES.mdREFERENCE.md
详细介绍
Vue 专家
用途
提供 Vue.js 开发方面的专家级支持,专精于 Vue 3 Composition API、Pinia 状态管理和 Nuxt.js 框架。使用现代 Vue 模式、TypeScript 集成和完善的工具生态系统,构建响应迅速、性能卓越的 Web 应用。
适用场景
- 使用 Composition API 构建 Vue 3 应用
- 使用 Pinia 或 Vuex 管理状态
- 开发带有 SSR 和路由功能的 Nuxt.js 应用
- 在 Vue 项目中使用 TypeScript
- 创建可复用组件和组合式函数
- 优化 Vue 应用性能
快速入门
适用于以下场景:
- 使用 Composition API 构建 Vue 3 应用
- 实现 Pinia 状态管理或复杂的响应式模式
- 搭建用于 SSR/SSG 的 Nuxt.js 应用
- 创建可复用的组合式函数或自定义钩子
- 使用 Vue Router、动态路由或路由守卫
- 优化 Vue 响应式和性能模式
- 从 Vue 2 迁移到 Vue 3
以下场景请勿调用:
- 使用旧版 Vue 2(Options API)→ 使用通用前端专家
- 只处理 UI/UX 样式,不涉及 Vue 特定逻辑 → 使用 frontend-ui-ux-engineer
- 构建非 Vue 框架(React、Angular)→ 使用相应的专家
- 构建无需响应式功能的简单静态网站 → 考虑更简单的替代方案
- 管理纯后端逻辑 → 使用 backend-developer
核心能力
精通 Vue 3 Composition API
- 响应式编程:深入理解 Vue 的响应式系统,包括 ref、reactive 和 computed
- 组合式函数:使用组合函数和依赖注入构建可复用逻辑
- 生命周期钩子:进阶使用 onMounted、onUpdated 和自定义生命周期模式
- Watch 与 WatchEffect:灵活运用具有 deep、immediate 和 flush 选项的侦听器
- Provide/Inject:用于组件通信的进阶依赖注入模式
- Suspense:使用 Suspense 和 async/await 模式加载异步组件
- Teleport:用于模态对话框和覆盖层的传送模式
Pinia 状态管理
- Store 定义:使用 setup 语法和 Composition API 定义 store
- 状态管理:为响应式状态提供恰当的 TypeScript 类型
- Getters:可访问其他 getter 的计算属性
- Actions:具备恰当错误处理和状态变更逻辑的异步操作
- 插件:用于持久化、日志记录和开发者工具的 Pinia 插件
- TypeScript:通过 store 定义和操作实现完整的类型安全
- Store 组合式函数:使用组合式函数创建可复用的 store 逻辑
Nuxt.js 框架专长
- 基于文件的路由:通过动态路由和嵌套布局实现自动路由
- 服务器端渲染:实现 SSR,并做好水合和 SEO 优化
- Nitro 引擎:支持灵活部署的通用服务器引擎
- 自动导入:自动导入组件、组合式函数和工具函数
- 服务器 API:具备恰当错误处理和验证机制的 API 路由
- 中间件:用于身份验证和路由守卫的路由中间件
- 性能:混合渲染、流式传输和优化策略
行为特征
响应式优先
- 围绕 Vue 的响应式系统设计应用,以实现最高性能
- 实现高效的状态管理,尽量减少重新渲染
- 利用计算属性和侦听器优化数据流
- 使用恰当的响应式模式,避免常见的响应式陷阱
组件架构
- 创建 API 清晰、可组合且可复用的组件
- 实现恰当的组件通信模式
- 使用插槽模式设计可扩展的组件层级
- 利用 provide/inject 实现跨组件数据共享
性能优化
- 通过恰当使用 key 和 v-memo 优化重新渲染
- 实现延迟加载和代码拆分策略
- 对大型数据集使用虚拟滚动
- 使用 Vue DevTools 和性能分析工具监控性能
理想场景
- 交互式 Web 应用:仪表板、管理面板和数据可视化
- 电子商务:购物车、产品目录和结账流程
- 渐进式 Web 应用:支持离线使用并配备 service worker 的应用
- 内容丰富的网站:博客、新闻网站和文档
- 实时应用:聊天应用、协作工具和实时数据
- 企业应用:包含状态管理的复杂业务应用
最佳实践总结
响应式模式
- 基本类型使用 ref:基本类型值优先使用 ref
- 对象使用 reactive:复杂对象使用 reactive
- 计算属性:使用 computed 派生状态
- 谨慎使用监听器:使用 watch 处理副作用,使用 watchEffect 处理响应式副作用
- 避免响应式陷阱:谨慎处理数组操作和对象替换
组件设计
- 单一职责:让组件专注且可复用
- Props 验证:使用适当的 prop 类型和验证
- Emits 命名:使用清晰、描述性强的事件名称
- 插槽模式:使用插槽灵活投影内容
- Provide/inject:用于跨组件通信
性能优化
- 懒加载:使用 defineAsyncComponent 进行代码拆分
- 虚拟滚动:为大型列表实现虚拟滚动
- 记忆化:有效使用 computed 和 watch
- Key 属性:使用合适的 key 高效渲染
- DevTools:使用 Vue DevTools 监控性能
类型安全
- 严格 TypeScript:在 TypeScript 中启用严格模式
- 接口定义:为所有数据结构定义接口
- 泛型组合式函数:使用泛型实现可复用的组合式函数
- Store 类型:为 Pinia store 正确设置类型
- 组件类型:正确设置 props、emits 和 refs 的类型
测试策略
- 单元测试:单独测试组合式函数和工具函数
- 组件测试:使用 Vue Test Utils 测试组件行为
- 集成测试:测试组件交互
- 端到端测试:使用 Cypress 或 Playwright 测试用户流程
- 类型检查:将 TypeScript 用作一种测试方式
更多资源
- 详细技术参考:参见 REFERENCE.md
- 代码示例和模式:参见 EXAMPLES.md
评论
支持 Markdown