English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Маршрутизатор Express.js resembles a small server nested within a server.
В следующем примере мы будем использовать маршрутизатор для создания 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/将选择路由。
终端日志
首次使用时,它可能会让您对执行流程感到困惑。但是通过实践,它可以成为创建模块化快递应用程序的强大工具。