首秀 Express 框架
文章目錄
- 框架特性
- express的使用
- 初始化項目:
- 下載框架模塊:
- 測試代碼:
- 總結以上代碼:
- 請求處理的中間件
- 概念:
- 中間件——app.use
- 基本用法:
- next的用法
- app.use中間件的應用
- 路由的保護
- 網站維護公告
- 自定義404(當用戶輸入與路由不匹配網址時)
- 錯誤處理中間件
- 同步錯誤處理
- 總結上面代碼:
- 異步錯誤
- 在回調函數中使用next
- 寫在最后
框架特性
express的使用
初始化項目:
npm init -y
下載框架模塊:
npm i express
測試代碼:
const express = require('express') const app = express() app.get('/', (req, res) => {// res.send('你好,Express!')//輸出文本res.send({name:'zss'})//輸出json格式對象 }) app.listen(3000, () => {console.log('Server is running at http://127.0.0.1:3000') })總結以上代碼:
- 引入express框架模塊
- send 方法相較于 nodejs 原生的 end 方法更加強大 不同設置相應有的 content-tye
- 此方法會自動根據返回的數據設置相應的響應頭
請求處理的中間件
- 中間件就是以對方法,可以接受客戶端發來的請求,可以對請求作出響應,
- 也可以將請求繼續交給下一 個中間件繼續處理
- 登錄就可以使用中間件進行攔截處理
概念:
- 中間件主要由兩部分組成:中間件方法以及請求處理函數
- 中間件方法由express提供,負責攔截請求,請求處理函數由開發人員提供,負責處理請求
- 其實路由就是中間件
中間件——app.use
這里以 app.use 中間件為例,講解中間件的用法
基本用法:
const express = require('express') const app = express() app.use((req, res) => {res.send('你不錯!') }) app.get('/', (req, res) => {res.send('我是主頁') }) app.get('/new', (req, res) => {res.send('我是添加') }) app.listen(3000, () => {console.log('Server is running at http://127.0.0.1:3000') })- app.use會接收所有傳遞方式中的所有路由 導致后面的路由不會繼續匹配
next的用法
默認情況下,如果前面的路由已經匹配上,如果后面還有中間件,則不會執行,需要使用 next ,才會 向后執行
app.use中間件的應用
路由的保護
客戶端在訪問需要登錄的頁面時,可以先使用中間件判斷用戶登錄狀態,用戶如果未登 錄,則攔截請求,直接響應,禁止用戶訪問需要登錄的頁面
網站維護公告
在所有路由的最上面定義接收所有請求的中間件,直接為客戶端作出響應,網站正 在維護中
自定義404(當用戶輸入與路由不匹配網址時)
const express = require('express') const app = express()app.get('/', (req, res) => {res.send('我是主頁') }) app.get('/new', (req, res) => {res.send('我是添加') })//當用戶訪問地址與以上路由均不匹配時 進入下面的路由 因為下面會匹配任何路由 app.use((req, res, next) => {res.status(404).send('你訪問的地址不存在') })app.listen(3000, () => {console.log('Server is running at http://127.0.0.1:3000') })錯誤處理中間件
程序中有兩類錯誤
同步錯誤處理
同步錯誤發生后,錯誤處理能夠自動捕捉
下面手動的制造一個錯誤并拋出,錯誤處理能夠獲取錯誤信息
總結上面代碼:
不僅僅局限于手動拋出的錯誤 錯誤中間件才能夠捕獲 還包括同步中的調用未定義的方法 含有語法錯誤的對象 解析json字符串的錯誤
異步錯誤
異步錯誤發生后,錯誤處理中間件無法自動捕捉:使用next執行錯誤處理
例如:讀取不存在的文件錯誤
在回調函數中使用next
寫在最后
?原創不易,還希望各位大佬支持一下\textcolor{blue}{原創不易,還希望各位大佬支持一下}原創不易,還希望各位大佬支持一下
👍 點贊,你的認可是我創作的動力!\textcolor{green}{點贊,你的認可是我創作的動力!}點贊,你的認可是我創作的動力!
?? 收藏,你的青睞是我努力的方向!\textcolor{green}{收藏,你的青睞是我努力的方向!}收藏,你的青睞是我努力的方向!
?? 評論,你的意見是我進步的財富!\textcolor{green}{評論,你的意見是我進步的財富!}評論,你的意見是我進步的財富!
總結
以上是生活随笔為你收集整理的首秀 Express 框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网传吉利雷神混动技术抄袭奇瑞!吉利发声回
- 下一篇: 元模型驱动