创建模块

2018-11-20 03:07:01

创建模块文件骨架

进入项目cabloy-demo,执行egg-born命令,创建模块test-todo的文件骨架

$ cd cabloy-demo
$ egg-born src/module/test-todo --type=module-business

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

  1. mudule-business: 此模版会创建与业务相关的代码,大量简化工作量
  2. module: 此模版仅包含基本的骨架代码文件

模块命名约定

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

egg-born-module-{providerId}-{moduleName}
  • providerId: 开发者Id,强烈建议采用Github的Username,从而确保贡献到社区的模块不会冲突
  • moduleName: 模块名称

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

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

  • providerId: test
  • moduleName: todo
  • fullName: egg-born-module-test-todo
  • relativeName: test-todo
  • 前端页面路由路径: /test/todo/{page}
  • 后端API路由路径: /test/todo/{controller}/{action}

重启服务

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

效果

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

下一步

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

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



评论: