中間件
什么是中間件呢?
個人理解中間就相當於一個過濾器,在客戶端和應用程序間用來處理req和res的方法
瀏覽器向服務器發送一個請求后,服務器直接通過request.定位屬性的方式得到通過request攜帶過去的數據,這中間就一定有一個函數將這些數據分類做了處理,已經處理好了,最后讓request對象調用使用,這個函數可以說就是中間件
Espress中的中間件:
中間件的結構:
app.use.([path],function)
path : 是路由的url,默認參數是”/”,意義是路由到這個路徑時使用這個中間件
function:中間件函數,可以理解為function(req,res,next){}若涉及到第三方中間件的使用,先按裝好在使用
中間件的分類:
內置中間件:express中先開始定義好的中間件可以直接引用
自定義中間件: 當每個請求到達服務器時,nodejs會為請求創建一個請求對象(request),該請求對象包含客戶端提交上來的數據。同時也會創建一個響應對象(response),響應對象主要負責將服務器的數據響應到客戶端。而最后一個參數next是一個方法,因為一個應用中可以使用多個中間件,而要想運行下一個中間件,那么上一個中間件必須運行next()。,
第三方中間件:需要下載安裝好在使用的
前后端分離與不分離
在前后端不分離的年代中,后端程序員直接將后台語言例如php等和js,html,css等寫在一起,隨着現在的網站技術發展與用戶交互越來越多,單純讓后端程序員去完成全部的工作,已經不太可能,同時代碼的維護變得非常困難,前后端分離是必然,
在前后端不分離的模式中,前端頁面看到的效果都是后端控制,由后端渲染頁面而成,前端和后端的耦合度很高,這種模式適合純網頁應用,但是當后端對接App時,App可能不需要返回一個HTML網頁而僅僅是數據本身,這時前后端分離就能解決這個問題
前端分離的模式中后台后端僅返回前端所需的數據,不再渲染HTML頁面,不再控制前端的效果。至於前端用戶看到什么效果,從后端請求的數據如何加載到前端中,都由前端自己決定,網頁有網頁的處理方式,App有App的處理方式,但無論哪種前端,所需的數據基本相同,后端僅需開發一套邏輯對外提供數據即可。
在前后端分離的應用模式中 ,前端與后端的耦合度相對較低。
在前后端分離的應用模式中,我們通常將后端開發的每個視圖都稱為一個接口,或者API,前端通過訪問接口來對數據進行增刪改查。前端分離也有自己的缺點
對於做網站的排名優化不利,SEO的爬取,前后端未分離模式適合網站排名優化,SEO的爬取