套件的由来

随着项目不断迭代演进,创建的业务模块也会随之膨胀。此外,对于某些业务场景,往往需要多个模块的配合实现。针对以上问题,CabloyJS引入了套件的概念。简而言之,套件就是一组业务模块的组合,往往对应于某个具体的业务场景,比如电商CRM供应链,等等

命名约定

套件采用与模块类似的命名规范:

  1. 1egg-born-suite-{providerId}-{suiteName}
  • providerId: 提供者Id,强烈建议采用Github的Username,从而确保贡献到社区的模块不会冲突
  • suiteName: 套件名称

目录结构

套件是一组业务模块的组合,因此目录结构也非常简单,以套件test-party为例:

  1. 1test-party
  2. 2├── modules
  3. 3│ ├── test-wechat
  4. 4│ ├── test-wxwork
  5. 5│ ├── test-dingtalk
  6. 6│ ├── test-party
  7. 7│ └── ...
  8. 8└── package.json

套件分类

EggBornJS中套件有两类:本地套件Vendor套件

  1. 本地套件:位于目录src/suite
  2. Vendor套件:位于目录src/suite-vendor

新建套件

可以使用Cli命令创建套件文件骨架

  1. 1# 进入项目所在目录
  2. 2$ cd /path/to/project
  3. 3$ npm run cli :create:suite demo-suite

安装Vendor套件

一般而言,Vendor套件来自Cabloy商店。比如Cabloy商店有test-party套件,如果要安装此套件,只需如下命令:

  1. 1$ npm run cli :store:sync test-party

三驾马车:套件、模块、应用

为了应对大型项目的开发,CabloyJS提供了三驾马车:套件模块应用

  • 套件、模块:在物理层面上对代码进行组织,参见:模块

  • 应用:在逻辑层面上对界面交互进行布局,面向不同业务场景和不同终端用户,提供不同的界面组合,参见:应用