Express.js Router有點(diǎn)像在服務(wù)器內(nèi)部嵌套一個(gè)小型服務(wù)器。
在以下示例中,我們將使用路由器創(chuàng)建一個(gè)API。該API是單獨(dú)創(chuàng)建的,以演示模塊化。
router1.js
var express = require('express') var router1 = express.Router() // 特定于此路由器的中間件 router1.use(function timeLog (req, res, next) { console.log('Requested URI Path : ', req.url) next() }) // 定義首頁路線 router1.get('/', function (req, res) { res.send('Birds home page') }) // 定義關(guān)于路線 router1.get('/about', function (req, res) { res.send('About birds') }) module.exports = router1
我們使用創(chuàng)建了一個(gè)路由器,然后創(chuàng)建了一些路由路徑express.Router()
app.js
var express = require('express') var app = express() var router1 = require('./router1') app.use('/api/', router1) // 啟動(dòng)服務(wù)器 var server = app.listen(8000, function(){ console.log('Listening on port 8000...') })
當(dāng)我們使用 app.use('/api/', router1)帶有URI路徑的所有對(duì)服務(wù)器的請(qǐng)求時(shí),/api/ 現(xiàn)在都被路由到router1。當(dāng)您點(diǎn)擊URI時(shí) http://localhost:8000/api/,將執(zhí)行路由器1中的“ /”路由。這是因?yàn)閒orrouter1, http://localhost:8000/api/被視為基本路徑。
當(dāng)您點(diǎn)擊URI時(shí) http://localhost:8000/api/about/,/about/將選擇路由。
終端日志
首次使用時(shí),它可能會(huì)使您對(duì)執(zhí)行流程感到困惑。但是通過實(shí)踐,它可以成為創(chuàng)建模塊化快遞應(yīng)用程序的強(qiáng)大工具。