创建模块文件骨架

在这里,以test-todo为例来演示创建模块,后续演示仍以模块test-party为例

如果要新建一个模块test-todo,可以如下操作:进入项目所在目录,执行脚手架命令

  1. 1$ cd /path/to/project
  2. 2$ npm run cli :create:module test-todo -- --template=module-business --suite=
名称 说明
moduleName 模块名称,比如test-todo
template 模版名称,比如module-business
suite 套件名称:一个模块可以归属于某个套件,也可以独立存在
  • template:目前提供了三个模版:
名称 说明
module-business 此模版会创建与业务相关的代码,大量简化工作量
module-business-details module-business的基础上增加了与明细业务相关的代码文件
module 此模版仅包含基本的骨架代码文件

模块命名约定

为了不断沉淀业务模块,达到高度可复用的效果,所有模块的命名空间必须充分隔离,避免相互污染与冲突,故采用如下命名规范:

  1. 1egg-born-module-{providerId}-{moduleName}
名称 说明
providerId 提供者Id,强烈建议采用Github的Username,从而确保贡献到社区的模块不会冲突
moduleName 模块名称

基于此命名规范,在项目的前后端引用模块相关资源,定义使用规范如下:

以模块egg-born-module-test-party为例

名称 说明
providerId test
moduleName party
fullName egg-born-module-test-party
relativeName test-party
前端页面路由路径 /test/party/{page}
后端API路由路径 /test/party/{controller}/{action}

重启服务

  1. 1$ npm run dev:backend
  2. 2$ npm run dev:front

效果

现在已经具备了Party增、删、改、查、搜索等功能,也具备了星标标签功能,同时增加了新建PartyParty列表两个菜单项,并为用户root分配了相应的菜单和数据权限

下一步

接下来,我们在模块test-party的基础上逐步引入框架的一些基础特性及其相应的用法。

然后再回过头来介绍party增、删、改、查、搜索等功能是如何实现的,如何在此基础上进一步添加新的特性