前端协作规范

75 阅读2分钟

协作规范

通过插件和配置实现。

风格统一

统一编辑器和工具插件。

编辑器

Visual Studio Code

配置文件

在前端项目中存在.vscode文件夹。

文件夹下一般存在两个文件extensions.jsonsetting.json

作用是保持所有开发者安装了相同的插件和相同的配置,保持开发环境一致性。

extensions.json

在当前项目中,需要安装哪些插件。

{
  "recommendations": [
    "esbenp.prettier-vscode",
    "dbaeumer.vscode-eslint",
    "stylelint.vscode-stylelint",
    "streetsidesoftware.code-spell-checker"
  ]
}

settings.json

项目统一的vscode用户设置,和vscode全局配置冲突,会覆盖全局settings.json配置

{
  // 保存文件时自动格式化
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true
  },
  // 拼写错误忽略
  "cSpell.words": [
    "antd"
  ]
}

JS代码规范

通过代码格式化工具Prettier,代码查找并修复工具ESLint实现。

Prettier

代码格式化工具。

安装插件

Prettier - Code formatter

下载依赖

pnpm i prettier -D

配置文件

.prettierrc

{
  "printWidth": 80,
  "singleQuote": true,
  "trailingComma": "all",
  "proseWrap": "never",
  "overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }],
  "plugins": ["prettier-plugin-organize-imports", "prettier-plugin-packagejson"]
}

忽略文件

.prettierignore

node_modules

命令脚本

package.json

"scripts":{
    //......其他省略
    "lint:prettier": "prettier --write ./src/**/**/**/*",
}

ESLint

代码查找并修复工具。

安装插件

ESLint

下载依赖

pnpm i eslint eslint-config-prettier eslint-plugin-prettier eslint-plugin-react -D
依赖作用描述
eslintESLint 核心库
eslint-config-prettier关掉所有和 Prettier 冲突的 ESLint 的配置
eslint-plugin-prettier将 Prettier 的 rules 以插件的形式加入到 ESLint 里面
eslint-plugin-react为 React 使用 ESlint 的插件

配置文件

.eslintrc

// 参考:https://umijs.org/docs/guides/lint
module.exports = {
    extends: require.resolve('https://github.com/umijs/umi/blob/master/packages/lint/src/config/eslint/rules/recommended.ts'),
};

忽略文件

.eslintignore

node_modules

命令脚本

package.json

"scripts":{
    //......其他省略
    "lint:eslint": "eslint --ext .js",
}

CSS代码规范

通过样式检查工具StyleLint实现。

StyleLint

样式检查工具。

安装插件

StyleLint

下载依赖

pnpm install stylelint stylelint-config-standard stylelint-config-prettier -D
依赖作用描述
stylelintstylelint 核心库
stylelint-config-standard打开额外的规则来执行在规范和一些 CSS 样式指南中发现的通用约定
stylelint-config-prettier关闭所有不必要的或可能与 Prettier 冲突的规则

配置文件

.stylelintrc

// 参考:https://umijs.org/docs/guides/lint
module.exports = {
    extends: require.resolve('https://github.com/umijs/umi/blob/master/packages/lint/src/config/stylelint/index.ts'),
};

命令脚本

package.json

"scripts":{
    //...其他省略
    "lint:stylelint": "stylelint \"src/**/*.less\" --syntax less",
}

Git规范

提交规范

类型(中文)类型(英文)
新功能feat新功能
修复 BUGfix修复问题
文档docs文档更新
格式style代码格式(未修改代码逻辑)
重构refactor代码重构(既不是新增功能,也不是修复问题)
优化perf性能优化
测试test添加或修改测试
编译build构建系统或外表依赖项的更改(如 webpack,npm)
回滚revert版本回滚

分支规范

分支策略

待补充

发布分支

待补充

版本固定

待补充