# vue2TypescriptTemplate **Repository Path**: ASkyEagle/vue2-typescript-template ## Basic Information - **Project Name**: vue2TypescriptTemplate - **Description**: vue2-typescript-template - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-08 - **Last Updated**: 2023-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vue2+typescript项目模板 ## 一、基本介绍 ### 为啥要设计该框架? 问过很多中小团队以及部分中后台团队,团队项目有啥规范吗? 得到的回答是几乎无,其中有个比较共同的借口是严格的规范会影响大家的开发效率。 其实结合工具的规范化不仅不会降低开发效率,还能够提升团队的开发&维护效率。试想当你的项目有以下问题的时候,你难道不觉得它会阻碍开发效率和提高维护难度吗? 项目问题: - 代码格式不一致 - 命名(项目、组件、公共库、文件等)不规范 - 样式随意,几乎无公共方法,大量重复代码,color等全部写死(当客户要求换色的时候简直是地狱)... - JavaScript、vue,大量冗余代码,大部分人只关注完成功能,维护性及其差 - 有大量几百甚至上千行代码的文件 - 无代码规范 - 没有人关注效率与质量,只关注交付 说难听些这些只是可以运行的垃圾代码堆而已,它只会纵容团队成员写出更多垃圾代码。 好的架构应该有哪些特点呢? ### 1、足够灵活 ### 2、扩展性强 ### 3、可维护性 ### 4、规范性 ## 二、技术选型与规范 ### 1、HTML [参考HTML规范](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/rules/HTML%E8%A7%84%E8%8C%83) ### 2、CSS [参考CSS规范](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/rules/CSS%E8%A7%84%E8%8C%83) ### 3、Javascript [参考Javascript范](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/rules/JavaScript%E8%A7%84%E8%8C%83) ### 4、Vue [参考Vue规范](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/rules/vue%E8%A7%84%E8%8C%83) ### 5、命名 [参考命名规范](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/rules/%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83) ## 三、具体实现 该前端框架基于Vue2.6.14 + typescript4.5.5 + vue-router3.5.1 + vuex3.6.2 + element-ui实现 node版本 > v14.6.0 框架实现了以下功能: ### 1、代码规范 引入JavaScript规范、typescript规范、vue规范,实现保存时格式化以及代码修复,git commit前进行代码规范校验,校验失败不能提交代码 - 代码规范符合[eslint规范](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/rules/ESLint) ### 2、git提交规范以及工具化实现 参考文档[git提交规范以及工具化](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/git/gitcommit%E8%A7%84%E8%8C%83) ### 3、单元测试 实现基于Karma+mocha+Vue-test-utils+chain的单元测试方案 ### 4、结构化styles - css也需要架构 [CSS架构](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/css/css%E6%9E%B6%E6%9E%84) ### 5、typescript引入 - vue组件支持typescript - 引入vue-property-decorator、vuex-module-decorators支持vue组件、vuex类的写法 参考[vue2如何更好的支持typescript](http://askyeagle.gitee.io/frontend-pro-doc/#/./ProjectDocs/typescript/vue-class-component%E4%B8%8Evue-property-decorator) ## 四、基本功能功能 - 基本表格 - 自定义图标 - 表单 - 国际化 功能参考该项目[vue-manage-system](https://gitee.com/lin-xin/vue-manage-system) ## 五、总结 框架适用于企业级项目,可以作为框架模板用于任何项目。 ## 六、Project setup ``` npm install ``` ### Compiles and hot-reloads for development ``` npm run serve ``` ### Compiles and minifies for production ``` npm run build ``` ### Run your unit tests ``` npm run test:unit ``` ### Run your end-to-end tests ``` npm run test:e2e ``` ### Lints and fixes files ``` npm run lint ``` ## 七、注意事项 ### 静态资源处理 - 如何引入 用绝对路径引入时,路径读取的是public文件夹中的资源,任何放置在 public 文件夹的静态资源都会被简单的复制到编译后的目录中,而不经过 webpack特殊处理。 ```html // 编译后: ``` ## 八、仓库地址 [vue2-typescript-template](https://gitee.com/ASkyEagle/vue2-typescript-template)