NodeJs?Express路由使用流程解析
一、概念
路由指的是客戶(hù)端的請(qǐng)求與服務(wù)器處理函數(shù)之間的映射關(guān)系
Express中的路由分3部分組成,分別是請(qǐng)求的類(lèi)型、請(qǐng)求的URL地址、處理函數(shù),格式如下:
app.METHOD(PATH,HANDLER)
路由的匹配過(guò)程:
每當(dāng)一個(gè)請(qǐng)求到達(dá)服務(wù)器之后,需要先經(jīng)過(guò)路由的匹配,只有匹配成功之后,才會(huì)調(diào)用對(duì)應(yīng)的處理函數(shù)。在匹配時(shí),會(huì)按照路由的順序進(jìn)行匹配,如果請(qǐng)求類(lèi)型和請(qǐng)求的URL同時(shí)匹配成功,則Express會(huì)將這次請(qǐng)求轉(zhuǎn)交給對(duì)應(yīng)的function函數(shù)進(jìn)行處理。
二、用法
1、掛載到app上
app.get('/',(req,res) => {
res.send('Get Request.')
})
app.post('/',(req,res) => {
res.send('Post Request.')
})
2、模塊化路由
為了方便對(duì)路由進(jìn)行模塊化的管理,Express不建議將路由直接掛載到app上,而是推薦將路由抽離為單獨(dú)的模塊。
① 創(chuàng)建路由模塊對(duì)應(yīng)的.js文件
② 調(diào)用express.Router()函數(shù)創(chuàng)建路由對(duì)象
③ 向路由對(duì)象上掛載具體的路由
④ 使用module.exports向外共享路由對(duì)象
⑤ 使用app.use()函數(shù)注冊(cè)路由模塊
新建 router.js文件
// 1. 導(dǎo)入express
const express = require('express')
// 2. 創(chuàng)建路由對(duì)象
const router = express.Router()
// 3. 掛載具體的路由
router.get('/user/list',(req,res) => {
res.send('Get user list.')
})
router.post('/user/add',(req,res) => {
res.send('Post user add.')
})
// 4. 向外導(dǎo)出路由對(duì)象
module.exports = router
在 Web 服務(wù)器文件中注冊(cè)路由模塊
// 1. 導(dǎo)入路由模塊
const router = require('./router')
// 2. 注冊(cè)路由模塊
app.use(router)
app.use()的作用就是用來(lái)注冊(cè)全局中間件
3、為路由模塊添加訪問(wèn)前綴
app.use('/api',router)訪問(wèn)時(shí)要加上前綴如:http://127.0.0.1/api/user/list、http://127.0.0.1/api/user/add
到此這篇關(guān)于NodeJs Express路由使用流程解析的文章就介紹到這了,更多相關(guān)NodeJs Express路由內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- node.js+express+mySQL+ejs+bootstrop實(shí)現(xiàn)網(wǎng)站登錄注冊(cè)功能
- node.js平臺(tái)下利用cookie實(shí)現(xiàn)記住密碼登陸(Express+Ejs+Mysql)
- 零基礎(chǔ)搭建Node.js、Express、Ejs、Mongodb服務(wù)器及應(yīng)用開(kāi)發(fā)入門(mén)
- express框架通過(guò)ejs模板渲染輸出頁(yè)面實(shí)例分析
- Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫(kù)進(jìn)行日期格式化的實(shí)現(xiàn)方法
- nodejs中的express-jwt的使用解讀
- NodeJS?Express使用ORM模型訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)流程詳解
- NodeJs Express框架操作MongoDB數(shù)據(jù)庫(kù)執(zhí)行方法講解
- NodeJs Express中間件使用流程解析
- express框架+bootstrap美化ejs模板實(shí)例分析
相關(guān)文章
Node.js利用debug模塊打印出調(diào)試日志的方法
debug日志打印模塊主要實(shí)現(xiàn)功能是帶命名空間(模塊名)、時(shí)間戳、色彩輸出日志;將日志寫(xiě)入文件;瀏覽器端使用;格式化函數(shù);支持自定義方法。下面這篇文章主要介紹了Node.js利用debug模塊打印出調(diào)試日志的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04
nodejs搭建本地服務(wù)器輕松解決跨域問(wèn)題
這篇文章主要介紹了利用nodejs搭建本地服務(wù)器 解決跨域問(wèn)題,需要的朋友可以參考下2018-03-03
NodeJs通過(guò)async/await處理異步的方法
本篇文章主要介紹了NodeJs通過(guò)async/await處理異步的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
一個(gè)簡(jiǎn)單的node.js界面實(shí)現(xiàn)方法
今天小編就為大家分享一篇一個(gè)簡(jiǎn)單的node.js界面實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Node中文件斷點(diǎn)續(xù)傳原理和方法總結(jié)
在之前做過(guò)一個(gè)小項(xiàng)目,涉及到了文件上傳,在大文件上面使用了斷點(diǎn)續(xù)傳,降低了服務(wù)器方面的壓力,現(xiàn)在小編把Node中文件斷點(diǎn)續(xù)傳原理和方法總結(jié)分享給大家,感興趣的朋友一起看看吧2022-01-01
Windows下Node爬蟲(chóng)神器Puppeteer安裝記
這篇文章主要介紹了Windows下Node爬蟲(chóng)神器Puppeteer安裝記,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01

