项目文件夹

文件
2026-07-13 21:37:07 +08:00

104 行
4.9 KiB
Markdown

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
---
name: vue
description: 编辑 .vue 文件、创建 Vue 3 组件、编写 composables 或测试 Vue 代码时使用——提供 Composition API 模式、props/emits 最佳实践、VueUse 集成以及响应式解构指导
license: MIT
---
# Vue 3 开发
Vue 3 Composition API 模式、组件架构和测试实践的参考指南。
**当前稳定版:** Vue 3.5+,具备增强的响应式性能(内存占用减少 56%,数组追踪速度提升 10 倍)、新的 SSR 功能以及改进的开发体验。
## 概述
Vue 3 项目的渐进式参考系统。仅加载与当前任务相关的文件,以尽量减少上下文占用(基础约 250 tokens,每个子文件 500-1500 tokens)。
## 何时使用
**在以下场景使用本技能:**
- 编写 `.vue` 组件
- 创建 composables`use*` 函数)
- 构建客户端工具
- 测试 Vue 组件/composables
**在以下场景应使用 `nuxt` 技能:**
- 服务端路由、API 端点
- 基于文件的路由、中间件
- Nuxt 特有的模式
**对于样式化 UI 组件:** 使用 `nuxt-ui` 技能
**对于无头无障碍组件:** 使用 `reka-ui` 技能
**对于 VueUse composables** 使用 `vueuse` 技能
## 快速参考
| 正在处理... | 加载文件 |
| ------------------------ | ----------------------------- |
| `components/` 中的 `.vue` 文件 | references/components.md |
| `composables/` 中的文件 | references/composables.md |
| `utils/` 中的文件 | references/utils-client.md |
| `.spec.ts``.test.ts` 文件 | references/testing.md |
| TypeScript 模式 | references/typescript.md |
| Vue Router 类型 | references/router.md |
| 响应式(ref, watch | references/reactivity.md |
| 自定义指令 | references/directives.md |
| Provide/inject | references/provide-inject.md |
| 边界情况、vue-tsc | references/gotchas.md |
## 加载文件
**根据你的任务考虑加载以下参考文件:**
- [ ] [references/components.md](references/components.md) - 如果在 `components/` 中工作或编写 `.vue` 文件
- [ ] [references/composables.md](references/composables.md) - 如果正在创建 composables`use*` 函数)
- [ ] [references/utils-client.md](references/utils-client.md) - 如果在 `utils/` 中工作或编写客户端工具
- [ ] [references/testing.md](references/testing.md) - 如果正在编写 `.spec.ts``.test.ts` 文件
- [ ] [references/typescript.md](references/typescript.md) - 如果正在使用 Vue TypeScript 模式或泛型
- [ ] [references/router.md](references/router.md) - 如果正在使用 Vue Router 或路由类型
- [ ] [references/reactivity.md](references/reactivity.md) - 如果正在使用 ref、reactive、computed、watch 或 watchEffect
- [ ] [references/directives.md](references/directives.md) - 如果正在创建或使用自定义指令
- [ ] [references/provide-inject.md](references/provide-inject.md) - 如果正在使用 provide/inject 模式
- [ ] [references/gotchas.md](references/gotchas.md) - 如果正在调试边界情况或水合问题
**不要一次性加载所有文件。** 只加载与当前任务相关的内容。
## 快速开始
```vue
<script setup lang="ts">
const { count = 0 } = defineProps<{ count?: number }>()
const emit = defineEmits<{ update: [value: number] }>()
</script>
<template>
<button @click="emit('update', count + 1)">
计数{{ count }}
</button>
</template>
```
## 可用指南
**[references/components.md](references/components.md)** - 带有响应式解构的 Props、emits 模式、用于 v-model 的 defineModel、插槽简写
**[references/composables.md](references/composables.md)** - Composition API 结构、VueUse 集成、生命周期钩子、异步模式、响应式陷阱
**[references/utils-client.md](references/utils-client.md)** - 纯函数、格式化器、验证器、转换器、何时不应使用 utils
**[references/testing.md](references/testing.md)** - Vitest + @vue/test-utils、组件测试、composable 测试、路由模拟
**[references/typescript.md](references/typescript.md)** - 用于 provide/inject 的 InjectionKey、vue-tsc 严格模板、tsconfig 设置、泛型组件
**[references/router.md](references/router.md)** - 路由元数据类型、配合 unplugin-vue-router 的带类型参数、滚动行为、导航守卫
**[references/reactivity.md](references/reactivity.md)** - ref、reactive、computed、watch、watchEffect、响应式基础
**[references/directives.md](references/directives.md)** - 自定义指令钩子、v-focus、v-click-outside、v-tooltip 模式
**[references/provide-inject.md](references/provide-inject.md)** - InjectionKey 类型、应用级 provide、readonly 模式
**[references/gotchas.md](references/gotchas.md)** - 常见陷阱、vue-tsc 边界情况、水合问题、竞态条件(来自 vuejs-ai/skills