Introduction

码云前端规范

介绍

本文档为码云前端规范文档,覆盖所有码云前端项目,旨在提高前端项目的团队协作效率和可维护性。

准备

在开发新页面或新功能前,应该根据复杂度、扩展性、用途等因素规划仓库,然后在码云前端组名下新建仓库并在新仓库中进行开发。从零开始搭建一个前端项目比较麻烦,你可以基于Vue 仓库模板来搭建项目。

开发

目标仓库:

# 克隆本仓库
git clone git@gitee.com:gitee-frontend/目标仓库.git

# 进入仓库目录
cd 目标仓库名

# 安装依赖
npm install

# 将当前仓库链接到全局 node_modules 目录里
npm link

# 开始构建资源(development 模式)
npm run dev

主仓库:

# 将全局 node_modules 目录中的目标仓库链接链接到当前 node_moudles 目录中
npm link 目标仓库

# 构建资源(development 模式),以将目标仓库的资源复制到主仓库中
npm run dev:main

如果项目已提供 dev-server 支持,则只需在这个项目中运行 deve-server,然后将主仓库的 config.webpack.dev_server.enabled 配置项改为 true 并重启服务器即可。

发布

公开包的发布方法

如果需要将项目作为依赖包发布到 npm 包源,则需要满足以下条件:

  • 已在 npmjs.org 上注册了账号
  • 账号已经加入 gitee 组织,且有权限管理目标包
  • 已用 npm login 命令登录了这个账号
  • 依赖的 gitee-vendor-dll 包和主仓库中的一致
  • 测试没问题

之后在命令行中运行:

# 创建 beta 预发行版
npm run release-beta

# 发布测试版
npm publish --tag=beta

# 创建正式发行版
npm run release

# 发布正式版
npm publish

主仓库:

# 安装刚刚发布的测试版
npm install 目标包@beta

# 或者安装最新正式版
npm install 目标包@latest

私有包的发布方法

私有包的构建产物托管在 git 仓库中,发布就是把本地构建好资源推送到远程 gt 仓库。

# 更新版本号,构建资源
npm version 版本号 -m "chore(release): 版本号"

# 发布
git push origin master --tags

主仓库使用以下命令安装:

npm install git+https://账号:密码@gitee.com/gitee-frontend/目标仓库名.git#v版本号

编码规范

为什么需要编码规范?有什么意义?按自己的风格来写代码不爽吗?这种问题请自行搜索查阅相关资料。

JavaScript

遵循码云前端的 ESLint 即可。

CSS

在遵循 stylelint 的要求的前提下,还需要遵循以下规范:

  • css 代码应该根据作用范围(页面、组件)拆分到独立的 scss 文件中
  • 采用 BEM 命名风格

Git Commit Message

遵循 commitlint 的规范。该规范下的提交信息适合生成更新日志。

开发流程

  1. 基于 master 创建一个新分支,然后在该分支上开发
  2. 开发完后,向 master 分支提交 PR
  3. 经管理员审查通过后合并此仓库的 PR 到 master
  4. 管理员打包发布测试版本,版本号遵循语义化版本控制规范,版本号格式为:1.x.x-beta.x,如果当天有多次更新,则应该只递增 beta 后面的编号
  5. 在主仓库中安装这一测试版本,本地测试无问题后再更新到 PR 上
  6. 如果测试版本还存在问题,需要继续修改,请重复上述流程
  7. 数天之后如果一切正常,则由管理员将版本号更新为正式版

如果此次改动较大,需要花较多的时间测试,或依赖主仓库的后端新功能以及相关样式文件,必须与后端一同更新上线,则根据包的可见性,将下面对应的流程插入到第 2 步后。

公开包的开发流程

公开包使用 npm 包源,使用 npm publish 发版。

  1. 使用 npm version 版本号 -m "chore(release): 版本号 发布 PR 专属版,格式为:当前主版本-pr编号.子版本,例如:0.1.0-pr5.0
  2. 使用 npm publish --tag=pr 命令发布该版本到 npm 包源
  3. 在主仓库中安装此版本
  4. 按主仓库的开发流程提交 PR
  5. 主仓库的 PR 审查和测试是否通过?
    • 是,进入下一步
      1. 删除上次用 npm version 生成的提交
      2. 递增 PR 专属版本后面的子版本号,例如当前是 0.1.0-pr5.0,递增后则为 0.1.0-pr5.1
      3. 从上级步骤的第一步重新开始

私有包的开发流程

私有包使用 git 仓库托管,使用 git tag v版本号git push 发版。

  1. 使用 npm version 版本号 -m "chore(release): 版本号 发布 PR 专属版,格式为:当前主版本-pr编号.子版本,例如:0.1.0-pr5.0
  2. 推送提交到仓库
  3. 在主仓库安装此版本,命令格式为:npm install "git+https://账号:密码@gitee.com/gitee-frontend/仓库名.git#v版本号"
  4. 按主仓库的开发流程提交 PR
  5. 主仓库的 PR 审查和测试是否通过?
    • 是,进入下一步
      1. 删除上次用 npm version 生成的提交
      2. 递增 PR 专属版本后面的子版本号,例如当前是 0.1.0-pr5.0,递增后则为 0.1.0-pr5.1
      3. 从上级步骤的第一步重新开始
Achievement
582
Star
124
Fork
People(17)
3 bluishoul 1605772844 Bluishoul
568 lc soft 1586692424 liu
13510 liwen 1621912484 liwen
62561 kesin 1578916009 Zoker
346425 www.zhutianli.com 1578920789 爪蛙没有爪
806114 hapboy 1578933348 陈晓东
1903408 gdits 1578962086 gdits
1968078 orangedays 1578963338 orangedays
2137760 stringify 1588810294 衣沾不足惜
2284953 wangchao1994 1578970918 汪潮
6559008 wx 3b2050a4ff 1584107409 fujunkui
7480352 zhonejieling 1591938425 钟洁玲
8264118 xiaoban123 1605147164 moment
qiufeng
8775456 weidumei0124 1618299562 weidumei
xiangyu
10973702 jarvis assistant 1652790464 J.A.R.V.I.S.

Search