项目结构 - 985ch/egg-sachikawa GitHub Wiki
一个典型的sachikawa项目的目录结构如下
sachikawa-project
├── package.json
├── app.js (可选)
├── agent.js (可选)
├── app
| ├── router.js
| ├── factory.js (可选)
│ ├── controller (可选)
│ | └── home.js
│ ├── http
│ | ├── get (可选)
│ | | └── test.js
│ | └── post (可选)
│ | └── test.js
│ ├── service (可选)
│ | └── user.js
│ ├── middleware (可选)
│ | └── my_middleware.js
│ ├── model (可选)
│ ├── schedule (可选)
│ | └── my_task.js
│ └── 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 (可选)
├── toolkit (可选)
| └── gen-models.js
└── test
和egg.js相比,sachikawa项目去掉了一些目录,也增加了一些目录和文件。
其中sachikawa删除了app/public和app/view这两个目录。删除它们的主要是因为这两个目录多用于前端实现。此外,controller目录由必备变为可选,因为http目录可以部分替代controller的功能。当然,如果开发者确实需要用本框架进行全栈开发,他们还是可以往项目中添加这几个目录以获得其原本的功能。
而新增的目录和文件中,app/http和app/factory.js都和路由工厂密切相关。而app/model和tookit/gen-models.js则和数据库密切相关。
关于目录结构的更详细内容参见egg.js的目录结构文档。