# vite-persistent **Repository Path**: jie-Chuan/vite-persistent ## Basic Information - **Project Name**: vite-persistent - **Description**: 初始化项目(后续更新的) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-07 - **Last Updated**: 2023-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: TypeScript, Vue ## README # Vue 3 + TypeScript + Vite 项目技术栈: vue3 + typeScript + vite + pinpa + scss + axios + vue-router 项目使用 eslint+stylelint+prettier 来对我们的代码质量做检测和修复,使用 husky 来做 commit 拦截,使用 commitlint 来统一提交规范,使用 preinstall 来统一包管理工具。 ## 项目目录说明 - .husky - commit-msg 强制 git 提交规范 - pre-commit git 提交时,执行`pnpm run format`来自动的格式化我们的代码。 - public 静态资源 - scripts 强制使用 pnpm 包管理器工具 - src 项目文件 - api 项目接口 - assets 静态资源 - components 组件 - hooks hook - router 路由 - store pinia 仓库 - styles 常用的变量,样式 - types 声明 ts 的规范 - ulits 工具库 - views 路由页面 - App.vue - main.ts - .env.development 开发环境 - .env.production 生产环境 - .env.test 测试环境 - .eslintignore - .eslintrc.cjs - .gitignore - .prettierignore - .stylelintignore - .stylelintrc.cjs - commitlint.config.cjs - index.html - package.json - pnpm-lock.yaml - prettierrc.json - tsconfig.json - tsconfig.node.json - vite.config.ts ## 运行指令 - dev 运行项目 - build:test 测试环境 - build:pro 生产环境 - preview 格式化我们的 js 和 css,html 代码 - lint 检测语法规范 - fix 修改不规范的语法 ## 项目规范 1. 强制使用 pnpm,使用 npm,yarn 等会报错 2. git 提交规范 - 'feat',//新特性、新功能 - 'fix',//修改 bug - 'docs',//文档修改 - 'style',//代码格式修改, 注意不是 css 修改 - 'refactor',//代码重构 - 'perf',//优化相关,比如提升性能、体验 - 'test',//测试用例修改 - 'chore',//其他修改, 比如改变构建流程、或者增加依赖库、工具等 - 'revert',//回滚到上一个版本 - 'build',//编译相关的修改,例如发布版本、对项目构建或者依赖的改动 必须是 git commit -m 'fix: xxx' 符合类型的才可以,并且冒号后面是需要空一格的。运行 git 提交代码时会自动格式化代码。 ## mitt 全局事件总线的使用 // @ts-ignore 忽略 ts 1. 引入:import emitter from "@/utils/mitt.ts"; 2. 订阅事件 : emitter.on("search-change", (obj: string) => { console.log(obj + "好的"); }); 3. 发布事件 : emitter.emit("search-change", "八百呢"); 4. 移除指定事件: emitter.off('newTask') 5. 移除全部事件: emitter.all.clear()