Açıklama Yok

vue-typescript-patterns.mdc 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Vue3 + TypeScript 开发规范
  2. ## Vue 组件规范
  3. - 使用 Composition API 和 `<script setup>` 语法
  4. - 组件文件使用 PascalCase 命名
  5. - 页面文件放在 `src/pages/` 目录下
  6. - 全局组件文件放在 `src/components/` 目录下
  7. - 局部组件文件放在页面的 `/components/` 目录下
  8. ## Vue SFC 组件规范
  9. - `<script setup lang="ts">` 标签必须是第一个子元素
  10. - `<template>` 标签必须是第二个子元素
  11. - `<style scoped>` 标签必须是最后一个子元素(因为推荐使用原子化类名,所以很可能没有)
  12. ## TypeScript 规范
  13. - 严格使用 TypeScript,避免使用 `any` 类型
  14. - 为 API 响应数据定义接口类型
  15. - 使用 `interface` 定义对象类型,`type` 定义联合类型
  16. - 导入类型时使用 `import type` 语法
  17. ## 状态管理
  18. - 使用 Pinia 进行状态管理
  19. - Store 文件放在 `src/store/` 目录下
  20. - 使用 `defineStore` 定义 store
  21. - 支持持久化存储
  22. ## 示例代码结构
  23. ```vue
  24. <script setup lang="ts">
  25. import { ref, onMounted } from 'vue'
  26. import type { UserInfo } from '@/types/user'
  27. const userInfo = ref<UserInfo | null>(null)
  28. onMounted(() => {
  29. // 初始化逻辑
  30. })
  31. </script>
  32. <template>
  33. <view class="container">
  34. <!-- 模板内容 -->
  35. </view>
  36. </template>
  37. <style lang="scss" scoped>
  38. .container {
  39. // 样式
  40. }
  41. </style>
  42. ---
  43. globs: *.vue,*.ts,*.tsx
  44. ---