Express.js Router有点像在服务器内部嵌套一个小型服务器。
在以下示例中,我们将使用路由器创建一个API。该API是单独创建的,以演示模块化。
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') }) // 定义关于路线 router1.get('/about', function (req, res) { res.send('About birds') }) module.exports = router1
我们使用创建了一个路由器,然后创建了一些路由路径express.Router()
app.js
var express = require('express') var app = express() var router1 = require('./router1') app.use('/api/', router1) // 启动服务器 var server = app.listen(8000, function(){ console.log('Listening on port 8000...') })
当我们使用 app.use('/api/', router1)带有URI路径的所有对服务器的请求时,/api/ 现在都被路由到router1。当您点击URI时 http://localhost:8000/api/,将执行路由器1中的“ /”路由。这是因为forrouter1, http://localhost:8000/api/被视为基本路径。
当您点击URI时 http://localhost:8000/api/about/,/about/将选择路由。
终端日志
首次使用时,它可能会使您对执行流程感到困惑。但是通过实践,它可以成为创建模块化快递应用程序的强大工具。