flutter的container其中兩個角設定圓角
阿新 • • 發佈:2020-12-24
Express框架
Express是一個基於Node平臺的web應用開發框架,它提供了一系列的強大特性,幫助你建立各種Web應用。
1)express框架特性:
① 提供了方便簡潔的路由定義方式
② 對獲取HTTP請求引數進行了簡化處理
③ 對模板引擎支援程度高,方便渲染動態HTML頁面
④ 提供了中介軟體機制有效控制HTTP請求
⑤ 擁有大量第三方中介軟體對功能進行擴充套件
2)步驟:
① 使用 npm install express 下載框架 ② 建立網站伺服器:express框架中已經有建立網站伺服器的方法,我們不 需要再使用原來引入http模組的createServer方法了;express() 就是 建立網站伺服器的方法 ③ 建立路由:express()方法下有 get 和 post 方法用來響應;不再使 用end 方法進行響應,使用send 方法:1.send方法內部會檢測響應內容 的型別; 2.send 方法會自動設定http狀態碼; 3.send方法會幫我們自 動設定響應的內容型別及編碼
2.中介軟體
中介軟體就是一堆方法,可以接收客戶端發來的請求、可以對請求做出響應,也可以將請求繼續交給下一個中介軟體繼續處理。
1)組成:express框架提供的用於接收請求的方法(中介軟體方法)和開發人員提供的用於處理請求的方法(請求處理函式)
2)一個請求可以設定多箇中間件,預設情況下,請求從上到下依次匹配中介軟體,一旦匹配成功則終止匹配;此時,next方法可以使匹配繼續,它將請求控制權交給下一個中介軟體,直到遇到結束請求的中介軟體(需要呼叫)
3).use中介軟體用法
① 接收請求,不區分請求方式,只要客戶端發來請求就可以匹配到當前中介軟體; ② 由於中介軟體執行有順序,這個中介軟體要定義在其他中介軟體前面; ③ 也可以接收某一路徑的請求;第一個引數可以輸入請求地址,只要走了這個請求地址就會執行
4)中介軟體應用
-
路由保護,客戶端訪問登入介面時,判斷使用者是否登入;如果使用者未登入就會攔截,禁止進入登入頁面
-
作網站維護、網頁公告:放在最前面
-
自定義404頁面、作訪問不存在頁面:需要放在最後面,status設定狀態碼
5)錯誤處理中介軟體
在程式執行的過程中,不可避免的會出現一些無法預料的錯誤,比如檔案讀取失敗,資料庫連線失敗。
錯誤處理中介軟體是一個集中處理錯誤的地方。
Ⅰ.捕獲到同步程式碼的錯誤:
app.use((err,req,res,next) => { res.status(500).send('伺服器方生未知錯誤')};
II.非同步程式碼錯誤:
需要手動觸發,當程式出現錯誤時,呼叫next()方法,並且將錯誤資訊通過引數的形式傳遞給next()方法,即可觸發錯誤處理中介軟體。
app.get('/' , (req,res,next) => {
fs.readFile("/file-does-not-exist" , (err,data) => {
if(err) {
next(err);
}
});
});
6)捕獲錯誤
在node.js中,非同步API的錯誤資訊都是通過回撥函式獲取的,支援Promise物件的非同步API發生錯誤可以通過catch方法捕獲。
try catch 可以捕獲非同步函式以及其他同步程式碼在執行過程中發生的錯誤,但是不能其他型別的API發生的錯誤。
非同步函式捕獲錯誤程式碼(同步非同步都能獲取)
① 呼叫 util 模組下的 promisify
② 使用 promisify方法處理 fs.readFile
③ 使用非同步函式,呼叫 readFile 方法
④ 使用 try、catch方法捕獲錯誤
⑤ 在catch 中使用 next 方法手動觸發錯誤資訊