必须在项目根目录创建.cursorrules文件,否则cursor ai无法识别vue3技术栈与目录结构,导致defineprops()写成options api风格而编译失败;需明确配置框架版本、目录职责(如views/小写中划线、components/pascalcase)、typescript强类型约束及多应用识别规则。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Cursor中写Vue项目时,目录结构不提前规划会导致AI生成代码散落、类型定义重复、组件命名混乱,最终出现Pinia store找不到、API调用路径报404、<script setup>里props类型丢失等典型问题。</script>
先建根目录再分层,别一上来就写src
打开Cursor,新建空白文件夹,命名为 your-project(不能叫 vue-project 或 frontend,避免AI误判为单前端仓库)。
在该文件夹下立即创建 【.cursorrules】 文件——这是Cursor识别项目技术栈的唯一入口,没有它,所有后续AI生成都按通用JavaScript逻辑走,defineProps()会写成Options API风格,直接编译失败。
执行命令行初始化:cd your-project → npm init -y → npm install -D typescript vite @vitejs/plugin-vue
标准Vue3项目目录骨架(Vite + TypeScript + Pinia)
手动创建以下结构,不要依赖AI自动生成整个src目录:
your-project/
├── src/
│ ├── assets/
│ ├── components/
│ ├── views/
│ ├── router/
│ ├── stores/
│ ├── composables/
│ ├── api/
│ ├── layouts/
│ ├── App.vue
│ └── main.ts
├── public/
├── .cursorrules
├── package.json
└── vite.config.ts
注意:views/ 下文件名必须用小写中划线(如 user-list.vue),components/ 下必须用PascalCase(如 UserProfileCard.vue),AI若混淆这两条,Vue运行时会抛出“Unknown custom element”警告。
让Cursor真正理解你的结构
在 .cursorrules 文件中写入三段核心配置:
递归分析 Vue 项目组件依赖,从入口文件生成组件层级图,支持 Vue 2/3,输出组件名、文件路径和属性。适用于分析组件结构、排查依赖或了解项目架构。
方法一:技术栈硬约束
# frameworks
- vue: 3.4+
- ui: element-plus@2.4+
# languages
- typescript: '>=5.1'
- composition-api: required
- script-setup: required
方法二:目录语义绑定
# src/ 目录职责声明
views/: 页面级路由组件,文件名小写中划线
components/: 可复用原子组件,文件名PascalCase
composables/: 组合式函数,必须以 use 开头
stores/: Pinia store,文件名小写中划线
api/: 按模块组织请求封装,如 api/user/index.ts
方法三:TypeScript强校验(防any泛滥)
## TypeScript规范
- 禁止使用 any,必须用 unknown + 类型守卫或具体接口
- defineProps() 必须带泛型参数,如 defineProps()
- 所有 API 响应类型必须从 api/types.ts 统一导入,禁止在组件内手写 interface
多前端共存时的升级结构(一个后端+多个前端)
如果你计划后续接入管理后台、H5页、小程序等,现在就要预留 apps/ 和 packages/:
your-project/
├── apps/
│ ├── web-admin/ # Vue3管理后台
│ ├── h5-mobile/ # Vue3 H5页
│ └── backend/ # FastAPI或Go后端
├── packages/
│ ├── api-types/ # 共享TS接口定义
│ ├── ui-components/ # 跨前端复用的Button/Dialog等
│ └── request/ # axios统一封装,自动注入token
├── .cursorrules
├── pnpm-workspace.yaml
└── README.md
这一步必须现在做:把 backend/ 放进 apps/,而不是和 frontend 并列在根目录。否则后期Cursor会把 backend/main.py 当作普通Python脚本处理,无法关联 api-types 中的 LoginRequest 接口定义,AI生成后端DTO时字段名会和前端不一致。
在 .cursorrules 末尾追加:
# 多应用识别
apps/: 所有可独立运行的应用目录
packages/: 所有跨应用共享的代码包
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










