egg是什么?

egg是阿里出品的一款后端web框架,基于koa封装,并做了一些约定。

为什么叫egg?

egg有孕育的含义,因为egg的定位是企业级web基础框架,旨在帮助开发者孕育适合自己团队的框架。

哪些产品是用egg开发的?

语雀就是用egg开发的

egg和koa是什么关系?

koa是egg的基础框架,egg是对koa的增强。

学习egg需要会koa吗?

不会koa也可以直接上手egg,但是会koa的话有助于更深层次的理解egg。

创建项目
npmiegg-init-gegg-initegg-test--type=simple//例如:egg-init项目名称--type=simplecdegg-testnpmi
目录结构
├──app│├──controller││└──│└──├──config│├──│└──├──

这就是最小化的egg项目,用npmi安装依赖之后,执行启动命令:

npmrundev[master][master][master]agent_worker用于配置URL路由规则│├──controller/用于存放数据库模型│├──service/(可选)用于编写中间件│├──schedule/(可选)用于放置静态资源│├──view/(可选)用于框架的扩展│├──(可选)│├──(可选)│├──(可选)│├──(可选)│├──(可选)│└──(可选)├──config/|├──用于编写配置文件(env可以是default,prod,test,local,unittest)

这是由egg框架或内置插件约定好的,是阿里总结出来的最佳实践,虽然框架也提供了让用户自定义目录结构的能力,但是依然建议大家采用阿里的这套方案。在接下来的篇章当中,会逐一讲解上述约定目录和文件的作用。