创建模块文件骨架

由于新建的项目已经包含模块test-party,因此以test-todo为例来演示创建模块,后续演示仍以模块test-party为例

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

$ cd /path/to/project
$ npm init cabloy src/module/test-todo --type=module-business

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

$ npm init cabloy src/module/test-todo --type=module-business --registry=https://registry.npm.taobao.org

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

名称 说明
module-business 此模版会创建与业务相关的代码,大量简化工作量
module 此模版仅包含基本的骨架代码文件

模块命名约定

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

egg-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}

重启服务

$ npm run dev:backend
$ npm run dev:front

效果

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

下一步

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

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