3.egg項(xiàng)目結(jié)構(gòu)分析

egg-project
├── package.json
├── app.js (可選)
├── agent.js (可選)
├── app
|   ├── router.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
        └── home.test.js
如上,由框架約定的目錄:
*   `app/router.js` 用于配置 URL 路由規(guī)則,具體參見 [Router](https://eggjs.org/zh-cn/basics/router.html)。
*   `app/controller/**` 用于解析用戶的輸入,處理后返回相應(yīng)的結(jié)果,具體參見 [Controller](https://eggjs.org/zh-cn/basics/controller.html)。
*   `app/service/**` 用于編寫業(yè)務(wù)邏輯層,可選,建議使用,具體參見 [Service](https://eggjs.org/zh-cn/basics/service.html)。
*   `app/middleware/**` 用于編寫中間件,可選,具體參見 [Middleware](https://eggjs.org/zh-cn/basics/middleware.html)。
*   `app/public/**` 用于放置靜態(tài)資源,可選,具體參見內(nèi)置插件 [egg-static](https://github.com/eggjs/egg-static)。
*   `app/extend/**` 用于框架的擴(kuò)展,可選,具體參見[框架擴(kuò)展](https://eggjs.org/zh-cn/basics/extend.html)。
*   `config/config.{env}.js` 用于編寫配置文件,具體參見[配置](https://eggjs.org/zh-cn/basics/config.html)。
*   `config/plugin.js` 用于配置需要加載的插件,具體參見[插件](https://eggjs.org/zh-cn/basics/plugin.html)。
*   `test/**` 用于單元測試,具體參見[單元測試](https://eggjs.org/zh-cn/core/unittest.html)。
*   `app.js` 和 `agent.js` 用于自定義啟動時(shí)的初始化工作,可選,具體參見[啟動自定義](https://eggjs.org/zh-cn/basics/app-start.html)。關(guān)于`agent.js`的作用參見[Agent機(jī)制](https://eggjs.org/zh-cn/core/cluster-and-ipc.html#agent-%E6%9C%BA%E5%88%B6)。

由內(nèi)置插件約定的目錄:

*   `app/public/**` 用于放置靜態(tài)資源,可選,具體參見內(nèi)置插件 [egg-static](https://github.com/eggjs/egg-static)。
*   `app/schedule/**` 用于定時(shí)任務(wù),可選,具體參見[定時(shí)任務(wù)](https://eggjs.org/zh-cn/basics/schedule.html)。

**若需自定義自己的目錄規(guī)范,參見 [Loader API](https://eggjs.org/zh-cn/advanced/loader.html)**

*   `app/view/**` 用于放置模板文件,可選,由模板插件約定,具體參見[模板渲染](https://eggjs.org/zh-cn/core/view.html)。
*   `app/model/**` 用于放置領(lǐng)域模型,可選,由領(lǐng)域類相關(guān)插件約定,如 [egg-sequelize](https://github.com/eggjs/egg-sequelize)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容