技术选型
说明 | 技术 | 官网 |
---|---|---|
基础框架 | React | https://reactjs.org |
前端路由 | React Router | https://reactrouter.com |
状态管理 | Concent | https://github.com/concentjs/concent |
国际化 | i18next | https://www.i18next.com |
打包工具 | Webpack | https://webpack.js.org |
类型增强 | TypeScript | https://www.typescriptlang.org |
格式检查 | Prettier | https://prettier.io |
JS 检查 | ESLint | https://eslint.org |
CSS 检查 | stylelint | https://stylelint.io |
Commit 规范 | commitlint | https://commitlint.js.org |
Git Hook | Husky | https://github.com/typicode/husky |
lint-staged | lint-staged | https://github.com/okonet/lint-staged |
git 规范
git 规范包括两点:分支管理规范、git commit 规范。
分支管理规范
一般项目分主分支(master)和其他分支。
当有团队成员要开发新功能或改 BUG 时,就从 master 分支开一个新的分支。例如项目要从客户端渲染改成服务端渲染,就开一个分支叫 ssr,开发完了再合并回 master 分支。
如果改一个 BUG,也可以从 master 分支开一个新分支,并用 BUG 号命名(不过我们小团队嫌麻烦,没这样做,除非有特别大的 BUG)。
git commit 规范
大致分为三个部分(使用空行分割):
- 标题行: 必填, 描述主要修改类型和内容
- 主题内容: 描述为什么修改, 做了什么样的修改, 以及开发的思路等等
- 页脚注释: 可以写注释,BUG 号链接
type: commit 的类型
- feat: 新功能、新特性
- fix: 修改 bug
- perf: 更改代码,以提高性能
- refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)
- docs: 文档修改
- style: 代码格式修改, 注意不是 css 修改(例如分号修改)
- test: 测试用例新增、修改
- build: 影响项目构建或依赖项修改
- revert: 恢复上一次提交
- ci: 持续集成相关文件修改
- chore: 其他修改(不在上述类型中的修改)
- release: 发布新版本
- workflow: 工作流相关文件修改
- scope: commit 影响的范围, 比如: route, component, utils, build…
- subject: commit 的概述
- body: commit 具体修改内容, 可以分为多行.
- footer: 一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接.