scc-oms-components
TypeScript icon, indicating that this package has built-in type declarations

0.5.0-beta.2 • Public • Published

scc-oms-components

基于 Antd4 二次开发的常用组件、工具库,这样做的目的在于:

  • 跨项目通用,避免重复开发,提高开发效率;
  • 避免同一功能使用不同实现方式带来的 UI 不统一、代码维护性差的问题,保持较高的代码质量。

主要依赖

  • react ^16.9.0
  • antd ~4.22.0
  • styled-components
  • lodash-es
  • moment

开发构建工具

  • pnpm
  • dumi ^2
  • father ^4

主要源码结构介绍

src 目录结构:

.
├── components # 组件目录
│   ├── DateTimePicker # 单个组件对应目录
│   │   ├── demo # (固定命名)文档所需组件demo,会在同级的index.md使用
│   │   │   ├── datepicker-secondtimestamp.tsx # 命名随便,建议使用语义化名称
│   │   │   ├── datepicker-string.tsx
│   │   │   ├── datepicker-timestamp.tsx
│   │   │   └── timepicker-string.tsx
│   │   ├── index.md # (固定命名)组件对应文档
│   │   └── index.tsx # (固定命名)组件源码
├── hooks # hooks目录(单个hook结构同上面的组件)
├── index.ts # 入口文件,所有的组件、方法、hooks都从这里导出
└── utils # 公共方法目录(单个方法结构同上面的组件)

由于文档本身就可以引用组件,所以在开发组件、hook、方法的时候,就可以完成对应的测试工作。你只需要 pnpm run start 启动开发服务器,就可以实时查看你写的组件是否符合预期。

开发流程

由于构建文档时的网络限制,组件库需要使用私有源: https://artifactory.sf-express.com/artifactory/api/npm/npm/ ,但由于另外的一些原因,组件库发包必须发到官方源,这里会有一点变扭,但是暂时没有更好的解决办法。所以有一些注意事项:

  • 安装依赖时必须切换切换到上面的私有源
  • 在发包时则需要切换到官方源
# 安装依赖
pnpm --registry https://artifactory.sf-express.com/artifactory/api/npm/npm/ install

# 开发&文档编写效果查看
pnpm start

如果是新的组件开发或者其他配置的修改,建议使用 feature/xxx 命名你的分支;如果是修复问题,建议使用 bugfix/xxx 命名你的分支。

兼容性

组件库兼容至 ie11,如果不满足你当前业务系统的要求,可自行进行降级处理。

发布流程

开发完成之后,先用开发分支打一个测试包,在使用的业务系统中先验证一下。如果没问题,则可以将开发分支合并到 master 分支,然后发布正式包。这一步骤有一个脚本 release.js 来协助处理,建议使用脚本

举个例子(假设当前线上稳定版本为 0.1.0,你现在要新增一个组件):

  1. 流程开始
  2. master 拉一个新的开发分支 feature/xxx,coding
  3. 完成之后,在当前开发分支执行 pnpm run release,会发布一个对应的测试版本,此时版本号更新为 0.2.0-beta.0
  4. 功能验证
    • 验证不通过,则在开发分支进行fix,然后发布新的测试版本,版本号更新为 0.2.0-beta.1
    • 验证通过,则可以切换到 master 分支,并将开发分支合并到 master 分支
  5. master 分支执行 pnpm run release,发布正式版本,版本号更新为 0.2.0
  6. 流程结束

推荐插件

项目需要使用必要的插件来完成 lint 和格式化工作,强烈建议安装推荐的插件。详见这里

发版流程测试

test2

LICENSE

MIT

Dependencies (3)

Dev Dependencies (27)

Package Sidebar

Install

npm i scc-oms-components

Weekly Downloads

149

Version

0.5.0-beta.2

License

MIT

Unpacked Size

1.31 MB

Total Files

104

Last publish

Collaborators

  • lancernix
  • yaojing88