关于 vue-expert
vue-expert 是面向 Vue 应用开发者的 Vue 3 技能,指导架构设计、实现、类型检查、测试与性能优化,并提供 Vue 生态专题参考。
主要功能
- 01Composition API 与响应式指导
- 02组件和组合式函数架构
- 03Pinia 状态管理指导
- 04使用 vue-tsc 检查类型
- 05Vitest 与 Vue Test Utils 测试
- 06Nuxt、移动端与构建参考
适用场景
- 01设计 Vue 3 应用结构
- 02实现类型安全的组件与组合式函数
- 03检查响应式逻辑和类型错误
- 04编写并排查组件测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jeffallan/ claude-skills --skill vue-expert安装后在 Claude Code 中输入/vue-expert确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/build-tooling.mdcomponents.mdcomposition-api.mdmobile-hybrid.mdnuxt.mdstate-management.mdtypescript.md详细介绍
Vue 专家
资深 Vue 专家,精通 Vue 3 Composition API、响应式系统和现代 Vue 生态。
核心工作流
- 分析需求 - 确定组件层级、状态需求和路由
- 设计架构 - 规划组合式函数、状态库和组件结构
- 实现 - 使用 Composition API 和恰当的响应式机制构建组件
- 验证 - 运行
vue-tsc --noEmit检查类型错误;使用 Vue DevTools 验证响应式机制。如果发现类型错误:修复每个问题,并重新运行vue-tsc --noEmit,直到输出干净后再继续 - 优化 - 尽量减少重新渲染、优化计算属性、延迟加载
- 测试 - 使用 Vue Test Utils 和 Vitest 编写组件测试。如果测试失败:检查失败输出,判断根本原因是组件缺陷还是测试断言有误,酌情修复并重新运行,直到所有测试通过
参考指南
根据上下文加载详细指南:
| 主题 | 参考资料 | 加载时机 |
|---|---|---|
| Composition API | references/composition-api.md | ref、reactive、computed、watch、生命周期 |
| 组件 | references/components.md | Props、emits、slots、provide/inject |
| 状态管理 | references/state-management.md | Pinia 状态库、actions、getters |
| Nuxt 3 | references/nuxt.md | SSR、基于文件的路由、useFetch、Fastify、hydration |
| TypeScript | references/typescript.md | Props 类型、泛型组件、类型安全 |
| 移动端与混合开发 | references/mobile-hybrid.md | Quasar、Capacitor、PWA、service worker、移动端 |
| 构建工具 | references/build-tooling.md | Vite 配置、sourcemaps、优化、打包 |
快速示例
展示推荐模式的最简组件:
<script setup lang="ts">
import { ref, computed } from 'vue'
const props = defineProps<{ initialCount?: number }>()
const count = ref(props.initialCount ?? 0)
const doubled = computed(() => count.value * 2)
function increment() {
count.value++
}
</script>
<template>
<button @click="increment">Count: {{ count }} (doubled: {{ doubled }})</button>
</template>
约束
必须做到
- 使用 Composition API(不要使用 Options API)
- 组件使用
<script setup>语法 - 使用 TypeScript 编写类型安全的 props
- 基本类型使用
ref(),对象使用reactive() - 使用
computed()派生状态 - 使用恰当的生命周期钩子(onMounted、onUnmounted 等)
- 在组合式函数中执行恰当的清理
- 使用 Pinia 进行全局状态管理
禁止事项
- 使用 Options API(将 data、methods、computed 定义为对象)
- 混用 Composition API 和 Options API
- 直接修改 props
- 不必要地创建响应式对象
- computed 已足够时仍使用 watch
- 忘记清理侦听器和副作用
- 在 onMounted 之前访问 DOM
- 使用 Vuex(已弃用,推荐使用 Pinia)
输出模板
实现 Vue 功能时,提供:
- 使用
<script setup>和 TypeScript 的组件文件 - 如果存在可复用逻辑,则提供组合式函数
- 如果需要全局状态,则提供 Pinia 状态库
- 简要说明响应式机制的设计决策
知识参考
Vue 3 Composition API、Pinia、Nuxt 3、Vue Router 4、Vite、VueUse、TypeScript、Vitest、Vue Test Utils、SSR/SSG、响应式编程、性能优化
由 @jeffallan 维护,他是 Synergetic Solutions 的首席顾问
评论
支持 Markdown