egg目录结构
上一节讲述了egg.js如何使用脚手架快速的开发一个egg项目,接下来,我们来看一下egg的目录结构(来源:官方文档,补充注释文档):
egg-project
├── package.json -- 框架配置,依赖
├── app.js (可选) -- 用于自定义启动时的初始化工作
├── agent.js (可选) -- 代理(同上)
├── app
| ├── router.js -- 用于配置 URL 路由规则
| ├── model -- 用于放置领域模型
│ | └── user.js
│ ├── controller -- 用于解析用户的输入,处理后返回相应的结果
│ | └── home.js
│ ├── service (可选) -- 用于编写业务逻辑层
│ | └── user.js
│ ├── middleware (可选) -- 用于编写中间件
│ | └── response_time.js
│ ├── schedule (可选) -- 用于定时任务
│ | └── my_task.js
│ ├── public (可选) -- 用于放置静态资源
│ | └── reset.css
│ ├── view (可选) -- 用于放置模板文件
│ | └── home.tpl
│ └── extend (可选) -- 用于框架的扩展
│ ├── helper.js (可选)
│ ├── request.js (可选)
│ ├── response.js (可选)
│ ├── context.js (可选)
│ ├── application.js (可选)
│ └── agent.js (可选)
├── config -- 配置文件
| ├── plugin.js -- 用于配置需要加载的插件
| ├── config.default.js -- 用于编写配置文件(下同)
│ ├── config.prod.js
| ├── config.test.js (可选)
| ├── config.local.js (可选)
| └── config.unittest.js (可选)
└── test -- 用于单元测试
├── middleware -- 用于中间件单元测试
| └── response_time.test.js
└── controller -- 用于controller层的单元测试
└── home.test.js
注意: egg.js奉行 『约定优于配置』,所以需要在开发时遵循其制定的规则,配置文件需要书写config目录下,定时任务需要写在app/schedule目录之下等等。
下一节,将介绍egg.js的内置对象知识点。