中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

福州外文網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣平臺幾大類

福州外文網(wǎng)站建設(shè),網(wǎng)絡(luò)推廣平臺幾大類,電力公司建設(shè)安全文化,常用來做網(wǎng)站首頁的是個人簡介 👀個人主頁: 前端雜貨鋪 🙋?♂?學(xué)習(xí)方向: 主攻前端方向,正逐漸往全干發(fā)展 📃個人狀態(tài): 研發(fā)工程師,現(xiàn)效力于中國工業(yè)軟件事業(yè) 🚀人生格言: 積跬步…

個人簡介

👀個人主頁: 前端雜貨鋪
🙋?♂?學(xué)習(xí)方向: 主攻前端方向,正逐漸往全干發(fā)展
📃個人狀態(tài): 研發(fā)工程師,現(xiàn)效力于中國工業(yè)軟件事業(yè)
🚀人生格言: 積跬步至千里,積小流成江海
🥇推薦學(xué)習(xí):🍍前端面試寶典 🎨100個小功能 🍉Vue2 🍋Vue3 🍓Vue2/3項目實(shí)戰(zhàn) 🥝Node.js實(shí)戰(zhàn) 🍒Three.js

🌕個人推廣:每篇文章最下方都有加入方式,旨在交流學(xué)習(xí)&資源分享,快加入進(jìn)來吧

內(nèi)容參考鏈接
Node.js(一)Node.js——fs(文件系統(tǒng))模塊
Node.js(二)Node.js——path(路徑操作)模塊
Node.js(三)Node.js——http 模塊(一)
Node.js(四)Node.js——http 模塊(二)
Node.js(五)Node.js——express項目搭建、請求、響應(yīng)

文章目錄

    • 前言
    • 中間件概念
    • 全局中間件
    • 路由中間件
    • 靜態(tài)資源中間件
    • 總結(jié)

前言

上篇文章我們學(xué)習(xí)了如何搭建 Express 項目,并認(rèn)識了請求和響應(yīng)的相關(guān)知識。

這篇文章我們來認(rèn)識一下 Express 中的一個重要概念 => 中間件。


中間件概念

中間件(Middleware)本質(zhì)上是一個回調(diào)函數(shù),中間件函數(shù)可以像路由一樣訪問請求對象和響應(yīng)對象。

中間件的作用:使用函數(shù)封裝公共組件,簡化代碼。

中間件類型:全局中間件、路由中間件。


全局中間件

全局中間件是應(yīng)用于整個應(yīng)用程序的中間件,即所有請求都會經(jīng)過這些中間件。它們通常用于執(zhí)行一些全局的任務(wù)。

  • 日志記錄:記錄每個請求的詳細(xì)信息,如請求方法、URL、狀態(tài)碼、響應(yīng)時間等。
  • 錯誤處理:捕獲和處理應(yīng)用程序中發(fā)生的錯誤,確保服務(wù)器不會因?yàn)槲刺幚淼漠惓6罎ⅰ?/li>
  • 跨域資源共享(CORS):允許或拒絕來自不同源的請求,以支持跨域請求。
  • 靜態(tài)文件服務(wù):為應(yīng)用程序提供靜態(tài)文件(如HTML、CSS、JavaScript、圖片等)。
  • 請求體解析:解析請求體中的JSON、URL編碼的數(shù)據(jù)或表單數(shù)據(jù)。
  • 身份驗(yàn)證:驗(yàn)證請求是否來自已認(rèn)證的用戶,并添加用戶信息到請求對象中。
const express = require("express");const app = express();
const fs = require("fs");
const path = require("path");// 聲明中間件函數(shù)
function recordMiddleware(req, res, next) {const { url, ip } = req;// 將信息保存在文件中fs.appendFileSync(path.resolve(__dirname, "./access.log"),`${url} ${ip}\r\n`);// 放行next();
}// 使用中間件函數(shù)
app.use(recordMiddleware);app.get("/home", (req, res) => {res.send("前臺首頁");
});app.get("/admin", (req, res) => {res.send("后臺首頁");
});app.get("*", (req, res) => {res.send("Not Found");
});app.listen(3000, () => {console.log("服務(wù)已啟動,端口 3000 正在監(jiān)聽中...");
});

在這里插入圖片描述

在這里插入圖片描述


路由中間件

路由中間件是應(yīng)用于特定路由或路由組的中間件,只有匹配到這些路由的請求才會經(jīng)過這些中間件。它們通常用于執(zhí)行一些與特定路由相關(guān)的任務(wù)。

  • 特定路由的日志記錄:只記錄特定路由的請求信息。
  • 特定路由的身份驗(yàn)證:只對特定路由進(jìn)行身份驗(yàn)證,例如,只有某些API端點(diǎn)需要身份驗(yàn)證。
  • 數(shù)據(jù)驗(yàn)證和格式化:在將數(shù)據(jù)傳遞給路由處理程序之前,驗(yàn)證和格式化請求數(shù)據(jù)。
  • 條件性路由處理:根據(jù)某些條件決定是否繼續(xù)處理請求或重定向到其他路由。
const express = require("express");const app = express();// 聲明路由中間件函數(shù)
let checkCodeMiddleware = (req, res, next) => {// 當(dāng)攜帶的 code 為 666 時才放行,不然提示 “暗號錯誤”if (req.query.code === "666") {next();} else {res.send("暗號錯誤");}
};// 第二個參數(shù)的位置使用路由中間件
app.get("/home", checkCodeMiddleware, (req, res) => {res.send("前臺首頁");
});app.get("/admin", checkCodeMiddleware, (req, res) => {res.send("后臺首頁");
});app.get("*", (req, res) => {res.send("Not Found");
});app.listen(3000, () => {console.log("服務(wù)已啟動,端口 3000 正在監(jiān)聽中...");
});

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述


靜態(tài)資源中間件

通過 app.use(express.static(__dirname) + "/public") 來添加靜態(tài)資源中間件。

靜態(tài)資源應(yīng)放入 public 文件夾中,我們創(chuàng)建如下的目錄結(jié)構(gòu)。

注意事項:

  1. index.html 文件為默認(rèn)打開的資源。
  2. 如果靜態(tài)資源與路由規(guī)則同時匹配,誰先匹配誰就響應(yīng)。
  3. 路由響應(yīng)動態(tài)資源,靜態(tài)資源應(yīng)由中間件響應(yīng)。

在這里插入圖片描述

const express = require("express");const app = express();app.use(express.static(__dirname + "/public"));app.get("/home", (req, res) => {res.send("前臺首頁");
});app.listen(3000, () => {console.log("服務(wù)已啟動,端口 3000 正在監(jiān)聽中...");
});

在這里插入圖片描述

在這里插入圖片描述


總結(jié)

本篇文章我們學(xué)習(xí)了中間件的使用,包括 全局中間件、路由中間件和靜態(tài)資源中間件,它們都有各自的使用場景,它們本質(zhì)上都是一個回調(diào)函數(shù),主要用于 請求預(yù)處理、響應(yīng)后處理、錯誤處理、日志記錄、權(quán)限控制、性能優(yōu)化 等。

好啦,本篇文章到這里就要和大家說再見啦,祝你這篇文章閱讀愉快,你下篇文章的閱讀愉快留著我下篇文章再祝!


參考資料:

  1. Node.js教程(菜鳥教程)
  2. Node.js零基礎(chǔ)視頻教程(尚硅谷 · 李強(qiáng))

在這里插入圖片描述


http://www.risenshineclean.com/news/7816.html

相關(guān)文章:

  • 企業(yè)網(wǎng)站制作公司24小時接單seo sem
  • wordpress郵件模板seo實(shí)戰(zhàn)視頻
  • 服務(wù)器windos做網(wǎng)站整合營銷傳播方案
  • 家居網(wǎng)站建設(shè)全網(wǎng)營銷微信營銷軟件免費(fèi)版
  • wordpress的cms插件山東進(jìn)一步優(yōu)化
  • 校園網(wǎng)上超市網(wǎng)站建設(shè)推廣b站在線觀看人數(shù)在哪
  • 免費(fèi)個人網(wǎng)站空間申請2023年10月疫情還會嚴(yán)重嗎
  • 網(wǎng)站建設(shè)7個基本流程寧波seo外包服務(wù)商
  • 如果在瀏覽器上做一網(wǎng)站廣告大約需要多少錢門戶網(wǎng)站排行榜
  • 什么樣的網(wǎng)站空間做電影網(wǎng)站不卡seo深圳網(wǎng)絡(luò)推廣
  • wordpress分享到qq空間班級優(yōu)化大師官方免費(fèi)下載
  • 全屏網(wǎng)站怎么做網(wǎng)絡(luò)推廣運(yùn)營推廣
  • 專業(yè)網(wǎng)站建設(shè)86215信息流優(yōu)化師是做什么的
  • 專業(yè)提供網(wǎng)站建設(shè)服務(wù)舉一個網(wǎng)絡(luò)營銷的例子
  • 沈陽全網(wǎng)推廣公司哪家好免費(fèi)seo培訓(xùn)
  • 網(wǎng)站后臺banner更換佛山seo關(guān)鍵詞排名
  • 做論壇網(wǎng)站時應(yīng)該注意什么印度疫情最新消息
  • 為什么要用國外服務(wù)器做網(wǎng)站搜索引擎優(yōu)化英文簡稱為
  • 做網(wǎng)站找哪個軟件網(wǎng)店運(yùn)營具體做什么
  • 海珠區(qū)疫情嚴(yán)重嗎鄭州seo代理外包
  • 優(yōu)秀的網(wǎng)站首頁布局360競價推廣
  • 案例建網(wǎng)站網(wǎng)址域名ip查詢
  • 17做網(wǎng)店網(wǎng)站池尾東莞網(wǎng)站設(shè)計公司排名
  • 渭南公司做網(wǎng)站百度競價是什么意思
  • 澳門網(wǎng)站后綴開發(fā)外包網(wǎng)站
  • 重慶網(wǎng)站seo服務(wù)線上平臺推廣方案
  • 泰州高端網(wǎng)站建設(shè)如何收費(fèi)搜索引擎優(yōu)化的簡稱
  • seo做的最好的網(wǎng)站排行青島優(yōu)化網(wǎng)站關(guān)鍵詞
  • wordpress打開文章響應(yīng)慢天津谷歌優(yōu)化
  • 網(wǎng)站建設(shè)編寫代碼出錯東莞seo優(yōu)化推廣