基于koa的eplis-core引擎内核实现

61 阅读2分钟

背景

相关知识来源于哲玄前端(抖音ID:44622831736)大前端全栈实践课程,本文是个人学习实践后的学习记录。

eplis-core 是什么?

eplis-core 是基于 Koa 实现的文件解析引擎内核。其参考 egg 设计理念——“约定优于配置”,按照统一约定的风格和规范进行开发,可以约束开发者的代码存放位置,降低协作成本。同时,各个模块代码划分清楚,便于专注模块的开发。

核心内容

  • config-loader —— 解析服务端配置项文件
  • service-loader —— 解析服务文件
  • controller-loader —— 解析控制器文件
  • middleware-loader —— 解析中间件文件
  • router-schema-loader —— 解析 Koa 路由参数规范文件
  • extend-loader —— 解析服务拓展插件文件
  • router-loader —— 解析 Koa 路由文件

相关文件收拢到同一个文件夹中,其 loader 通过 glob 第三方工具包读取约定目录下的文件,解析内容挂载到 Koa 实例上。

而这个目录是团队自行约定的,规定哪些代码规定放在哪个位置,以什么形式编写。

例如 eplis-core 中约定的:

  • config/**/*.js 包含所有的 config
  • app/service/**/*.js 包含所有的 service
  • app/controller/**/*.js 包含所有的 controller
  • app/middleware/**/*.js 包含所有的 middleware
  • app/router-schema/**/*.js 包含所有的 router-schema
  • app/extend/**/*.js 包含所有的 extend
  • app/router/**/*.js 包含所有的 router

eplis-core 有什么用?

借助该引擎内核,我们可以很简便将内存中的中间件方法、路由统一注册到应用程序中,自动完成应用开发的基础设施搭建工作,编码时可以通过实例获取各个模块想要的功能,链接各个模块,开发者只需专注于处理业务逻辑。