Egg.js官方的定位是 为企业级框架和应用而生 和 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本。那我们用一句更加简单的话来讲就是 解放生产力,让程序员们可以省下更多时间去做更加有生产价值的事情。
从Egg.js的目前的定位和现有的生态周边,我们可以分成以下三个主要体系:
- 核心体系
- 辅助体系
- 生态体系
核心体系,顾名思义就是Egg.js的核心能力,其实Egg.js的核心就只有一个模块就是egg-core
模块,虽然egg-core
模块代码有十几个文件,但是核心思想可以抽象出以下两点。
- 以 Koa.js 为基类,利用了其
中间件机制
和HTTP服务机制
作为框架基础 - 以
Loader
机制作为Egg.js各分层机制的约定基础
辅助体系,就是在开发和生产过程中,提供相关的支持能力,例如脚手架初始化、开发热更新、开发热部署、多线程使用和多线程守护等能力支持。在目前官方提供的辅助体系中,这里主要讲解的是以下几个能力。
- 开发模式支持
- 生产模式支持
- 多线程利用
- 主要涉及的模块有
egg-script
、egg-bin
等
生态体系,一个好框架必备的条件有两个,其一是友好的开发体验,其二是生机勃勃的生态体系。目前来讲Egg.js做的更出色的是友好的开发体验,也就是说该框架的约定是很友好的。
目前Egg.js生态分约定为以下三种类型。
- 中间件
- 插件
- 框架