这是从Express.js的路由指南中修改过的示例:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.send('Birds home page');
});
router.get('/about', function(req, res) {
res.send('About birds');
});
...
app.use('/birds', router);
app.use('/fish', router);
当我访问/birds/about
和/fish/about
时,这将打印出"关于鸟类"。
如何向路由程序传递参数或其他内容,以便在控制器函数中可以区分这两个不同的路由?
例如,当访问/birds/about
时,我想看到"鸟儿会飞",当访问/fish/about
时,我想看到"鱼儿会游泳"。
理想情况下,我希望能够传递一些"配置对象",这样小型应用程序就不需要知道它可能被挂载到的所有可能路由(伪代码):
router.get('/about', function(req, res) {
res.send(magic_configuration.about_text);
});
....
magically_set_config(router, {about_text: "Bears eat fish"})
app.use('/bears', router);
/birds
和/fish
都复制更改,这样很容易出错。 - Sergey