完整 Vue3 项目搭建流程(Vite + Vue3 + TS 推荐):
一、初始化项目
1. node 版本建议 18+
2. npm create vite@latest my-project -- --template vue-ts
3. cd my-project && npm install
二、目录结构规划
src/
api/ 接口请求
assets/ 静态资源
components/ 公共组件
composables/ 组合式函数
router/ 路由
stores/ pinia 状态
utils/ 工具函数
views/ 页面
App.vue
main.ts
三、基础配置
1. vite.config.ts:配置 @ 别名、dev server、proxy 代理
2. env 环境变量:.env.development / .env.production(VITE_API_BASE)
3. tsconfig:paths 与 @ 别名一致
四、核心依赖安装
npm i vue-router pinia axios
npm i -D sass less eslint prettier
五、路由 router
1. createRouter + createWebHistory
2. 路由懒加载 component: () => import('@/views/xxx.vue')
3. 路由守卫 beforeEach 做登录校验
4. main.ts 中 app.use(router)
六、状态管理 pinia
1. stores/user.ts、stores/app.ts 按模块拆分
2. main.ts 中 app.use(createPinia())
七、封装 axios
1. 创建 request 实例(baseURL、timeout)
2. 请求拦截器带 token
3. 响应拦截器统一处理错误码/登录过期
4. api 目录按业务拆分接口函数
八、公共能力
1. 封装 Layout(侧边栏/顶栏)
2. 公共组件(Button、Modal、Table)
3. utils(storage、format、validate)
4. composables(useUser、useLoading)
九、样式方案
1. 选 sass/less + CSS 变量做主题
2. 全局 reset/normalize
3. 移动端适配 rem 或 postcss-px-to-viewport
十、规范与部署
1. ESLint + Prettier 统一代码风格
2. npm run build 打包 dist
3. nginx 部署静态资源 + history fallback
4. 可选:husky 提交前 lint