Egg 目錄結(jié)構(gòu)

2020-02-06 10:55 更新

在快速入門(mén)中,大家對(duì)框架應(yīng)該有了初步的印象,接下來(lái)我們簡(jiǎn)單了解下目錄約定規(guī)范。

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ī)則,具體參見(jiàn) Router。
  • app/controller/** 用于解析用戶(hù)的輸入,處理后返回相應(yīng)的結(jié)果,具體參見(jiàn) Controller。
  • app/service/** 用于編寫(xiě)業(yè)務(wù)邏輯層,可選,建議使用,具體參見(jiàn) Service。
  • app/middleware/** 用于編寫(xiě)中間件,可選,具體參見(jiàn) Middleware。
  • app/public/** 用于放置靜態(tài)資源,可選,具體參見(jiàn)內(nèi)置插件 egg-static。
  • app/extend/** 用于框架的擴(kuò)展,可選,具體參見(jiàn)框架擴(kuò)展。
  • config/config.{env}.js 用于編寫(xiě)配置文件,具體參見(jiàn)配置。
  • config/plugin.js 用于配置需要加載的插件,具體參見(jiàn)插件。
  • test/** 用于單元測(cè)試,具體參見(jiàn)單元測(cè)試
  • app.js 和 agent.js 用于自定義啟動(dòng)時(shí)的初始化工作,可選,具體參見(jiàn)啟動(dòng)自定義。關(guān)于agent.js的作用參見(jiàn)Agent機(jī)制。

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

  • app/public/** 用于放置靜態(tài)資源,可選,具體參見(jiàn)內(nèi)置插件 egg-static
  • app/schedule/** 用于定時(shí)任務(wù),可選,具體參見(jiàn)定時(shí)任務(wù)。

若需自定義自己的目錄規(guī)范,參見(jiàn) Loader API

  • app/view/** 用于放置模板文件,可選,由模板插件約定,具體參見(jiàn)模板渲染
  • app/model/** 用于放置領(lǐng)域模型,可選,由領(lǐng)域類(lèi)相關(guān)插件約定,如 egg-sequelize


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)