|
|
# 业务库开发文档
|
|
|
|
|
|
## 要求
|
|
|
+ 每个库都要求有负责人,负责人要落实开发文档中的要求和代码规范
|
|
|
+ 每个库都要有一个统一的根模块,方便使用者导出直接使用
|
|
|
+ 统一使用 ng-zorro-antd 组件开发
|
|
|
+ 涉及到可修改的参数,要提供对外修改的 `配置文件` 或者 `依赖注入`
|
|
|
+ 涉及到需要获取 `配置文件` 的要求在依赖注入中提供修改配置文件路径的接口
|
|
|
+ 每个库的 `src/` 下都要有和库名相同的样式文件,用于导出库的公共样式和其所依赖第三方包的样式
|
|
|
+ 每个业务库下的子模块都要求提供一个组件是包含整个页面的组件,并且提供路由配置默认导航到该组件
|
|
|
+ 库开发完毕或有更新,要及时同步到 `yz-business` 文档中
|
|
|
|
|
|
## 命名
|
|
|
|
|
|
+ 文件夹名称 一般用 `短横线 - ` 连接,例如: 月报 `month-report`
|
|
|
+ 文件名
|
|
|
+ ts <文件夹名称>.component.ts
|
|
|
+ html <文件夹名称>.component.html
|
|
|
+ 模块 <文件夹名称>.module.ts
|
|
|
+ 服务 <文件夹名称>.service.ts
|
|
|
+ 路由 routing.module.ts
|
|
|
+ 组件标签默认加前缀 `yz`,例如:月报 `yz-month-report`
|
|
|
+ 大驼峰命名:组件、服务、模块、实体类
|
|
|
+ 小驼峰命名:变量名
|
|
|
+ 全大写:常量、接口名(建议+前缀`I`)
|
|
|
|
|
|
## 引入
|
|
|
+ 在引入组件、模块、服务、接口、实体类、管道、工具类时,引用地址尽可能 **`具体到文件名`**,否则在项目使用该库时,打包会出错
|
|
|
|
|
|
## 导出
|
|
|
+ 库的 `src/` 下有 `public-api.ts` 文件,在库中的所有组件、模块、服务、实体类、接口、工具类、管道都要在该文件中导出
|
|
|
|
|
|
|
|
|
## 原则
|
|
|
|
|
|
+ 高内聚,低耦合
|
|
|
+ 风格统一
|
|
|
+ 对外用法一致
|
|
|
|
|
|
## 静态资源
|
|
|
|
|
|
+ 每个库的静态资源文件默认的路径为 `/assets/<库名>/<文件名>`
|
|
|
|
|
|
## 建议
|
|
|
|
|
|
+ 每个库下的模块在提供 `依赖注入` 时, 建议不要用轻量级令牌,建议以 `月报业务库` 为例,方便之后扩展 |
|
|
\ No newline at end of file |