今天來介紹一下egg.js的目錄結構,以及vscode egg開發工具配置css
如上,由框架約定的目錄:node
app/router.js
用於配置 URL 路由規則。app/controller/**
用於解析用戶的輸入,處理後返回相應的結果。app/service/**
用於編寫業務邏輯層,可選,建議使用。app/middleware/**
用於編寫中間件,可選。app/public/**
用於放置靜態資源,可選。app/extend/**
用於框架的擴展,可選。config/config.{env}.js
用於編寫配置文件。config/plugin.js
用於配置須要加載的插件。test/**
用於單元測試。app.js
和 agent.js
用於自定義啓動時的初始化工做,可選。由內置插件約定的目錄:數據庫
app/public/**
用於放置靜態資源,可選。app/schedule/**
用於定時任務,可選。當用戶訪問頁面,若是沒有中間件,先進行路由匹配,找到router.js文件,可知當用戶訪問路徑爲/時,會執行controller下home模塊的index方法。json
找到controller的home模塊的index方法,可知爲頁面寫入了hi,egg的內容app
接下來,照葫蘆畫瓢,咱們在router.js中新建一個路由配置,使用戶訪問到/login時執行controller下home模塊的login方法。框架
在home.js裏寫入login方法,寫入「我是登陸頁面」 字樣。工具
緊接着訪問/login 就能看到 文字渲染出來了:單元測試
固然,在項目中確定不會只有一個controller,因此咱們新建一個名爲news的控制器,此處建議安裝vscode eggjs擴展,以便快速生成controller模板等文件開發工具
當news.js創建完成後, 鍵入以下內容:測試
繼續在路由裏面作配置,訪問/newsList時執行上圖controller 中news模塊下的getNewsList方法,訪問/newsList 以下圖:
可是,光給用戶顯示光禿禿的文字確實談不上什麼體驗,最起碼要渲染一個有樣式有邏輯的頁面吧。你們都知道,egg是一個基於nodejs的MVC框架,當用戶輸入url,先匹配路由。路由找對應的控制器,控制器中渲染頁面和數據,須要數據就找model層要,model層去請求數據庫返回數據。
MVC:
view: 視圖,模板,頁面展現 (約定app目錄下view文件夾中)
Controllor控制器:負責處理業務邏輯(約定app目錄下controller文件夾中)
model 模型: 和數據庫打交道(約定app目錄下service文件夾中)
明天給你們分享 靜態資源 配置模板引擎 中間件等基礎內容,敬請期待~~