# vue-vite-template
**Repository Path**: strivelei/vue-vite-template
## Basic Information
- **Project Name**: vue-vite-template
- **Description**: 基于vite、vue3 集成vue-router、vueuse、pinia、typescript、mock等前端前沿技术。集成ESlint、Prettie、Stylelint等代码规范工具。集成vue-i18n国际化及主题色切换功能
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2023-08-20
- **Last Updated**: 2024-04-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vue-vite-template
## 安装依赖
```
pnpm install
```
## vscode 相关插件推荐
```
TypeScript Vue Plugin(Volar)
Vue Language Features(Volar)
Eslint
Stylelint
Prettier - Code formatter
EditorConfig for VS Code
UnoCss
```
### 开发环境编译运行
开发时建议将 vite.config.ts 中 `dts: './typing/auto.import.d.ts',`、`dts: './typing/auto.components.d.ts'` 放开(取消注释) 以及将 `eslintrc` 下的 `enabled` 设置为 `true`。这样开发时可以自动生成组件及、部分方法的ts类型声明及eslint校验配置
```
pnpm run dev
```
### 生产环境编译打包
```
pnpm run build
```
### 代码格式检测及修复
```
pnpm run lint
```
### commit 信息规范
e.g.: git commit -m "docs: update README.md"
| Type | 作用 |
| :------- | -----------------------------------------------------: |
| feat | 新增特性 |
| fix | bug 修复 |
| perf | 改善性能 |
| test | 测试 |
| docs | 修改文档 |
| style | 代码格式修改 |
| refactor | 代码重构 |
| build | 变更项目构建或外部依赖 |
| ci | 更改持续集成软件的配置文件和 package 中的 scripts 命令 |
| chore | 变更构建流程或辅助工具 |
| revert | 代码回退 |
### 特色功能
```
基于vite、vue3
集成vue-router、vueuse、pinia、typescript、mockjs
集成ESlint、Prettie、Stylelint代码规范工具。
集成commitlint git信息提交规范工具
集成国际化vue-i18n
集成主题切换功能(cssVar)
集成多种动态svg图标使用:封装SvgIcon组件、集成unplugin-icons
封装多种通用hooks
自定义指令(directive)及过滤属性(filter)封装及使用示例
```
### 项目结构说明
- generate
目前用于生成静态资源图片路径,即 src/assets/imgs 目录下的图片资源(为 src/utils/getImgUrl 函数参数提供类型声明)
- mock
用于 mock 数据供项目使用
- typing
存放全局变量/属性声明
- src(核心代码存放位置)
- assets(静态资源文件)
存放图片、字体等资源文件
- components
存放全局通用组件
- constants
存放全局常量
- directives
存放全局指令函数
- filters
存放全局过滤函数
- hooks
存放全局 hook
- i18n
存放国际化配置
- router
存放路由配置
- service
存放网络请求相关内容
- store
存放状态管理
- styles
存放全局样式
- typing
存放公用变量/属性类型声明及类型转换函数
- utils
存放全局工具函数
- views
存放页面组件
#### 分支管理
```base
main/master: 用于基础功能开发
element-template: 集成element-plus
antd-template: 集成ant-design-vue
*-scope: 用于cli工具模板生成
```
### svg 及 iconify 图标的使用使用
```base
1. 下载svg文件,并存放在src/assets/svgs目录下(该项目指定在此目录,可以在vite.config.js文件中进行修改)
2. 使用: i-sy-{{svgName}}
```
#### iconify 使用及 iconify([访问地址](https://icon-sets.iconify.design/))
```
项目中引入的图集unplugin-icons会自动进行安装,可直接使用
1. 在官方网站找到想用的图标
2. 复制图集及icon名, 例: clarity:accessibility-1-solid; 图集为clarity,图标名为accessibility-1-solid
or
```
### 动态 svg 使用 SvgIcon
```
// 动态使用的svg存放在src/assets/svgs 目录下。根据svg图标名传入相应的参数, 同时支持修改图标颜色(修改颜色前请先删除svg代码里的fill属性,否则color属性将失效)。例:
```
### vueuse 使用相关系列文章
#### [1.vueuse-useLocalStorage 在项目中的使用](https://blog.csdn.net/weixin_42386379/article/details/130059649?spm=1001.2014.3001.5501)
#### [2.vueuse-useCssVar 实现主题色切换功能](https://blog.csdn.net/weixin_42386379/article/details/130193843?spm=1001.2014.3001.5502)
#### [3.vueuse-createFetch 实现接口请求及其封装(代替 axios)](https://blog.csdn.net/weixin_42386379/article/details/130216301?spm=1001.2014.3001.5502)
#### [4.vueuse-useFullscreen 优雅的使用全屏及退出全屏](https://blog.csdn.net/weixin_42386379/article/details/130598170?spm=1001.2014.3001.5502)
#### [5.vueuse-useDark 实现暗黑主题及浅亮主题及 Element-Plus 暗黑模式](https://blog.csdn.net/weixin_42386379/article/details/131285114?spm=1001.2014.3001.5502)