hengz-1109 / vite-vue2.7-template

The project basic template built by Vite 5+Vue 2.7.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🔞 Vite + Vue 2.7 + JavaScript 基础模版

          .,:,,,                                        .::,,,::.          
        .::::,,;;,                                  .,;;:,,....:i:         
        :i,.::::,;i:.      ....,,:::::::::,....   .;i:,.  ......;i.        
        :;..:::;::::i;,,:::;:,,,,,,,,,,..,.,,:::iri:. .,:irsr:,.;i.        
        ;;..,::::;;;;ri,,,.                    ..,,:;s1s1ssrr;,.;r,        
        :;. ,::;ii;:,     . ...................     .;iirri;;;,,;i,        
        ,i. .;ri:.   ... ............................  .,,:;:,,,;i:        
        :s,.;r:... ....................................... .::;::s;        
        ,1r::. .............,,,.,,:,,........................,;iir;        
        ,s;...........     ..::.,;:,,.          ...............,;1s        
       :i,..,.              .,:,,::,.          .......... .......;1,       
      ir,....:rrssr;:,       ,,.,::.     .r5S9989398G95hr;. ....,.:s,      
     ;r,..,s9855513XHAG3i   .,,,,,,,.  ,S931,.,,.;s;s&BHHA8s.,..,..:r:     
    :r;..rGGh,  :SAG;;G@BS:.,,,,,,,,,.r83:      hHH1sXMBHHHM3..,,,,.ir.    
   ,si,.1GS,   sBMAAX&MBMB5,,,,,,:,,.:&8       3@HXHBMBHBBH#X,.,,,,,,rr    
   ;1:,,SH:   .A@&&B#&8H#BS,,,,,,,,,.,5XS,     3@MHABM&59M#As..,,,,:,is,   
  .rr,,,;9&1   hBHHBB&8AMGr,,,,,,,,,,,:h&&9s;   r9&BMHBHMB9:  . .,,,,;ri.  
  :1:....:5&XSi;r8BMBHHA9r:,......,,,,:ii19GG88899XHHH&GSr.      ...,:rs.  
  ;s.     .:sS8G8GG889hi.        ....,,:;:,.:irssrriii:,.        ...,,i1,  
  ;1,         ..,....,,isssi;,        .,,.                      ....,.i1,  
  ;h:               i9HHBMBBHAX9:         .                     ...,,,rs,  
  ,1i..            :A#MBBBBMHB##s                             ....,,,;si.  
  .r1,..        ,..;3BMBBBHBB#Bh.     ..                    ....,,,,,i1;   
   :h;..       .,..;,1XBMMMMBXs,.,, .. :: ,.               ....,,,,,,ss.   
    ih: ..    .;;;, ;;:s58A3i,..    ,. ,.:,,.             ...,,,,,:,s1,    
    .s1,....   .,;sh,  ,iSAXs;.    ,.  ,,.i85            ...,,,,,,:i1;     
     .rh: ...     rXG9XBBM#M#MHAX3hss13&&HHXr         .....,,,,,,,ih;      
      .s5: .....    i598X&&A&AAAAAA&XG851r:       ........,,,,:,,sh;       
      . ihr, ...  .         ..                    ........,,,,,;11:.       
         ,s1i. ...  ..,,,..,,,.,,.,,.,..       ........,,.,,.;s5i.         
          .:s1r,......................       ..............;shs,           
          . .:shr:.  ....                 ..............,ishs.             
              .,issr;,... ...........................,is1s;.               
                 .,is1si;:,....................,:;ir1sr;,                  
                    ..:isssssrrii;::::::;;iirsssssr;:..                    
                         .,::iiirsssssssssrri;;:.                                   

node compatility vite vue pinia vuex

Vite5 + Vue2.7 + JavaScript + Pinia + Vue Router + Scss

Vite5 不再支持 Node.js 14 / 16 / 17 / 19,现在需要 Node.js 18 / 20+。

工具链

  • 🔴 Vite 5: Vite,下一代的前端工具链,为开发提供极速响应。

  • 🟠 Vue 2.7: 渐进式 JavaScript 框架。Vue 2.7 是 Vue 2 最新的次级版本。提供内置的组合式 API 支持。

  • 🟡 Vue Router: Vue.js官方路由器,提供富有表现力、可配置的、方便的路由。

  • 🟢 Pinia: 符合直觉的Vue.js 状态管理库,类型安全、可扩展性以及模块化设计。甚至让你忘记正在使用的是一个状态库。

  • 🔵 Element: Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。

  • 🟤 Scss: 成熟、稳定、强大的专业级CSS扩展语言。

  • 🟣 Axios: 一个基于 promise 的网络请求库,可以用于浏览器和 node.js。

  • ⚫️ Vue I18n: Vue.js 的国际化插件。它可以轻松地将一些本地化功能集成到你的 Vue.js 应用程序中。

  • 🟧 EditorConfig + ESLint + Prettier + Stylelint: 代码规范

  • 🟥 Husky + Lint-Staged + Cz-Git + Commitlint: Git Hook 工具与提交规范

使用

开发

# 安装依赖
npm install

# 运行
npm run dev

http://localhost:4090

构建打包

# 构建
npm run build

开发工具

开发规范

统一不同 IDE 编辑器的编码风格。

在 VSCode 中使用需要安装 EditorConfig for VS Code 插件。

VS Code 使用 ESLint 配置需要下载插件 ESLint

更多配置项信息,前往 ESLint 官网查看 ESLint-Configuring

VS Code 使用 Prettier 配置需要下载插件 Prettier

更多配置项信息,前往 Prettier 官网查看


解决 ESLint 与 Prettier 冲突问题

eslint-plugin-prettiereslint-config-prettier

eslint-plugin-prettier: 将 Prettier 的规则设置到 ESLint 的规则中

eslint-config-prettier: 关闭 ESLint 中与 Prettier 中会发生冲突的规则

优先级:Prettier 配置规则 > ESLint 配置规则

Visual Studio Code 编辑器使用 Stylelint 配置需要下载插件 StyleLint

修改 Visual Studio Code 工作区配置

{
  "stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass", "html"]
}

更多配置项信息,前往 stylelint 官网查看

自动格式化

VS Code 在 settings.json 文件中,增加以下代码:

{
  "editor.codeActionsOnSave": {
    "source.fixAll": true,
    "source.fixAll.eslint": true
  }
}

提交规范

huskylint-staged

在本地执行 git commit 时,对所提交的代码进行检测和修复,如果这些代码没通过规则校验,则禁止提交。

Commit Message 格式规范

commit messageHeaderBodyFooter 组成。

<Header>

<Body>

<Footer>

🎃 Header

Header 部分包括三个字段 type(必需)、scope(可选)和 subject(必需)。

type

`type 用于说明 commit 的提交类型(必须是以下几种之一)。
描述
feat 新增功能
fix 修复问题
docs 文档变更
style 代码格式(不影响功能,例如空格、分号等格式修正)
refactor 代码重构
perf 改善性能
test 测试
build 变更项目构建或外部依赖(例如 scopes: webpack、gulp、npm 等)
ci 更改持续集成软件的配置文件和 package 中的 scripts 命令,例如scopes: Travis, Circle 等
chore 变更构建流程或辅助工具
revert 代码回退

scope

用于指定本次 commit 影响的范围。

scope 依据项目而定,例如在业务项目中可以依据菜单或者功能模块划分,如果是组件库开发,则可以依据组件划分。

subject

subject 是本次 commit 的简洁描述,长度约定在 50 个字符以内,通常遵循以下几个规范:

  - 用动词开头,第一人称现在时表述,例如:change 代替 changed 或 changes
  - 第一个字母小写
  - 结尾不加句号(.)

👎 Body

  • body 是对本次 commit 的详细描述,可以分成多行。

  • 跟 subject 类似,用动词开头,body 应该说明修改的原因和更改前后的行为对比。

🦶 Footer

  • 如果本次提交的代码是突破性的变更或关闭缺陷,则 Footer 必需,否则可以省略。

集成 cz-git

vite-plugin-mock

vite-plugin-mock@2.9.8 对应 path-to-regexp@4.0.5

About

The project basic template built by Vite 5+Vue 2.7.


Languages

Language:SCSS 35.1%Language:Vue 32.2%Language:JavaScript 32.1%Language:Shell 0.3%Language:HTML 0.3%