关于 vue-expert
面向使用 Vue 3 及其现代生态的开发者,重点涵盖 Composition API、响应式架构、类型检查和组件测试。
主要功能
- 01使用 Composition API 设计组件
- 02响应式状态与计算属性
- 03使用 Pinia 管理状态
- 04通过 vue-tsc 检查类型
- 05使用 Vitest 测试组件
适用场景
- 01规划 Vue 3 组件结构
- 02构建可复用的 composable
- 03管理应用共享状态
- 04验证类型与组件行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ farmage/ opencode-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、水合 |
| 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
- 忘记清理 watchers 和 effects
- 在 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、响应式编程、性能优化
评论
支持 Markdown