[英]How to handle one express route different than all other
我目前在NodeJS应用程序中使用Express路由器。 我只是一直在使用app.use(app.router);
进行路由,效果很好。 但是,我现在正在测试一些新路线,并希望以不同的方式处理它们。
理想情况下,我想说:
var vers2Router = require('./routes/version2');
app.use('/version2', vers2Router);
app.use(app.router);
我可以这样做以使用vers2Router
处理所有/version2
路由,其余的仅使用app.router
吗?
从Express版本4.x开始, app.router
已被删除。 现在按添加的顺序执行路由。
现在,您可以使用express.Router,因为它将允许您使用隔离的路由实例,并且在您的示例中,您可以使用自己的版本化路由创建许多路由器。
像这样:
// app.js
'use strict';
var express = require('express');
var app = express();
var userRouterV1 = require('./routes/v1/userRouter.js');
var userRouterV2 = require('./routes/v2/userRouter.js');
app.use('/v1/api/users', userRouterV1);
app.use('/v2/api/users', userRouterV2);
app.listen(4000, function () {
console.log('server up an running');
});
和您的隔离路由版本1:
// /routes/v1/userRouter.js
'use strict';
var express = require('express');
var router = express.Router();
router.get('/', function (req, res) {
res.send('Hello v1');
});
module.exports = router;
最后,您的隔离路由版本2:
// /routes/v2/userRouter.js
'use strict';
var express = require('express');
var router = express.Router();
router.get('/', function (req, res) {
res.send('Hey v2');
});
module.exports = router;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.