模块化体系的说明

在大型Web业务系统中,不可避免包括大量的业务和功能。CabloyJS采用模块化体系,实际的业务代码开发都是在模块中进行

我们在开发一个业务系统时,首先要规划需要将系统拆分为多少个模块。哪些模块直接采用CabloyJS内置的核心模块,哪些模块来自第三方的社区贡献,剩下的模块则自行开发

模块化体系的意义

  1. 业务解耦:代码结构清晰,业务逻辑充分解耦
  2. 分工协作团队开发:将业务系统拆分成模块的组合,有利于开发任务的分解与分配
  3. 关注点聚焦:一个模块包含一个子业务的前端UI和后端API接口,在开发时,减少沟通内耗,提升开发效率
  4. 减少心智负担:模块的命名空间隔离机制有利于减少开发时的心智负担,当我们在为模块内部的controller、service、config等组件进行变量命名时,不必担心此名称会与其他模块冲突,从而也可以使得变量命名更加精简、自然
  5. 业务逻辑复用:以模块为开发单元,便于沉淀技术资产,便于在不同的系统中重复利用

新建模块

自行开发的模块称为局部模块,位于项目的src/module目录中

可以使用脚手架工具创建模块文件骨架

# 进入项目所在目录
$ cd /path/to/project
# 如果是 npm v6
$ npm init cabloy src/module/demo-student --type=module-business
# 如果是 npm v7
$ npm init cabloy src/module/demo-student -- --type=module-business

如果网速慢,可以使用淘宝镜像:

# 如果是 npm v6
$ npm init cabloy src/module/demo-student --type=module-business --registry=https://registry.npm.taobao.org
# 如果是 npm v7
$ npm init cabloy src/module/demo-student -- --type=module-business --registry=https://registry.npm.taobao.org 

目前提供了三个模块文件模版:

名称 说明
module-business 此模版会创建与业务相关的代码,大量简化工作量
module-business-details module-business的基础上增加了与明细业务相关的代码文件
module 此模版仅包含基本的骨架代码文件,一般应用于工具类的模块开发

延伸阅读