MVC
我們學習了koa處理url,Nunjucks渲染模塊,但我們去結合著兩個的時候。
當一個用戶請求URL,koa將調用一個異步的函數來處理這個URL,在這個函數內部,我們使用一行代碼來實現:
ctx.render('home.html',{name:'panda'});
通過Numjucks的模板渲染到html頁面,然后輸出給瀏覽器,用于就可以使用渲染后的界面了。
image
這就是我們的MVC了
異步函數是C:Controller,Controller負責業務邏輯,比如檢查用戶名是否存在,取出用戶信息等等;
包含變量{{ name }}的模板就是V:View,View負責顯示邏輯,通過簡單地替換一些變量,View最終輸出的就是用戶看到的HTML。
MVC中的Model在哪?Model是用來傳給View的,這樣View在替換變量的時候,就可以從Model中取出相應的數據。
上面的例子中,Model就是一個JavaScript對象:
{ name: 'Michael' }
每次要處理和鏈接目錄文件的時候我們都需要用到,==middleware==
幾個重要的步驟
- 處理 URL
- 處理首頁的 GET
- 處理登陸請求的 POST/signin
- 編寫 view界面
- 使用到 boostrap
- 編寫 middleware
- 為了處理我們的static靜態資源
- 集成 Nunjucks
- 實際上也是編寫一個 middleware
- 給主要的ctx對象綁定一個render,后買你的controller來調用這個方法來渲染模板
- 實際上也是編寫一個 middleware