代码模版及使用规范[试行]

为了方便项目的创建,统一项目结构,基础功能,所有 Dozto 和 Pard.js 相关的项目(WEB, Module, Service)都需要使用创建工具创建,同时所有涉及模版固定的工作流程都需要遵守模版中的工作流程(commit,release)。

项目创建工具

项目创建使用 npx(npm 包执行工具)来自动执行创建脚本,并更新创建项目的package.json信息,同时根据不同的创建工具,也会更新不同创建的项目的信息。

因为目前包管理工具以yarn 为主,所以需要使用 yarn create 命令来创建项目模版。比如需要创建一个 pardjs 的模块包项目,执行yarn create pardjs-module [生成项目的名称]

Pard.js 项目(开源项目库)

  • create-pardjs-module: 用来创建 npm 的 module 模块代码,代码发布后会发布为@pardjs/[项目名称]的公共包。

  • create-pardjs-service: 用来创建公共的 service 代码,代码框架为 nest.js。

  • create-pardjs-web: 用来创建公共的 web 代码,代码框架为 nuxt.js。

Dozto 项目

  • create-dozto-module: 用来创建 npm 的 module 模块代码,代码发布后会发布为@dozto/[项目名称]的私有包。

  • create-dozto-service: 用来创建私有的 service 代码,代码框架为 nest.js。

  • create-dozto-web: 用来创建私有的 web 代码,代码框架为 nuxt.js。

目前 dozto 还未开通私有 repo

项目模版

以上的创建工具都共享同一套代码模版,代码模版如下

基于模版的工作流程

模版通过 script 提供了以下一些实用方法,用来简化、规范、统一日常需要的一些操作流程。

  • yarn commit: 代替git commit命令,整合了 commit 消息的最佳范式。

  • yarn release: 发布 npm 的 module,或 docker 镜像。

    ⚠️ 这里的 release 是会自动升级版本,版本使用语意版本控制,也就是MAJOR.MINOR.PATCH,需要注意的是MAJOR代表向后不兼容的更新,MINOR代表向后兼容,但是有增强的更新,PATCH代表向后兼容的错误修复更新。

  • yarn build: 构建项目,在 module 项目中为构建编译后的 lib 文件,在 web 项目中为构建静态所需的 js 和 css 文件,service 项目中为构建编译后的 js 文件。

  • yarn build:doc:构建文档,基于 ts 特性自动构建 module 文档(仅在 module 项目中使用)。

  • yarn generate: 生成静态 html 页面(仅在 web 项目中使用)。

  • yarn test:执行项目的测试代码,包涵代码覆盖率测试。

  • yarn test:watch:执行监视模式的代码测试。

  • yarn dev: 在开发模式启动项目。(开发中使用这个命令启动项目)

  • yarn start: 再生产环境模式启动项目。(生产环境中使用这个命令启动项目)

Last updated

Was this helpful?