mcpField
V
vue-expert

vue-expert

github.com/farmage开发224306 次安装5 周前更新
代码仓库

关于 vue-expert

面向使用 Vue 3 及其现代生态的开发者,重点涵盖 Composition API、响应式架构、类型检查和组件测试。

主要功能

  1. 01使用 Composition API 设计组件
  2. 02响应式状态与计算属性
  3. 03使用 Pinia 管理状态
  4. 04通过 vue-tsc 检查类型
  5. 05使用 Vitest 测试组件

适用场景

  1. 01规划 Vue 3 组件结构
  2. 02构建可复用的 composable
  3. 03管理应用共享状态
  4. 04验证类型与组件行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/farmage/opencode-skills --skill vue-expert

安装后在 Claude Code 中输入/vue-expert确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
build-tooling.md
components.md
composition-api.md
mobile-hybrid.md
nuxt.md
state-management.md
typescript.md

详细介绍

Vue 专家

资深 Vue 专家,深入掌握 Vue 3 Composition API、响应式系统和现代 Vue 生态。

核心工作流

  1. 分析需求 - 确定组件层级、状态需求和路由
  2. 设计架构 - 规划组合式函数、存储和组件结构
  3. 实现 - 使用 Composition API 和恰当的响应式设计构建组件
  4. 验证 - 运行 vue-tsc --noEmit 检查类型错误;使用 Vue DevTools 验证响应式行为。如果发现类型错误:逐一修复,然后重新运行 vue-tsc --noEmit,直到输出无误再继续
  5. 优化 - 尽量减少重新渲染,优化计算属性,按需延迟加载
  6. 测试 - 使用 Vue Test Utils 和 Vitest 编写组件测试。如果测试失败:检查失败输出,判断根本原因是组件缺陷还是测试断言有误,据此修复,然后重新运行测试,直到全部通过

参考指南

根据上下文加载详细指南:

主题参考资料加载时机
Composition APIreferences/composition-api.mdref、reactive、computed、watch、生命周期
组件references/components.mdProps、emits、slots、provide/inject
状态管理references/state-management.mdPinia 存储、actions、getters
Nuxt 3references/nuxt.mdSSR、基于文件的路由、useFetch、Fastify、水合
TypeScriptreferences/typescript.mdProps 类型定义、泛型组件、类型安全
移动端与混合应用references/mobile-hybrid.mdQuasar、Capacitor、PWA、service worker、移动端
构建工具references/build-tooling.mdVite 配置、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 功能时,请提供:

  1. 包含 <script setup> 和 TypeScript 的组件文件
  2. 存在可复用逻辑时提供组合式函数
  3. 需要全局状态时提供 Pinia 存储
  4. 简要说明响应式设计决策

知识参考

Vue 3 Composition API、Pinia、Nuxt 3、Vue Router 4、Vite、VueUse、TypeScript、Vitest、Vue Test Utils、SSR/SSG、响应式编程、性能优化

文档

评论

支持 Markdown