Express-如何将同一路径分派到不同的路由器文件?
我正在制作一个应用程序,它可以让不同的用户看到不同的根页面。假设有两个组:Express-如何将同一路径分派到不同的路由器文件?,express,Express,我正在制作一个应用程序,它可以让不同的用户看到不同的根页面。假设有两个组:admin和viewer。我想做的是: var admin = require('./routes/admin'); var viewer = require('./routes/viewer'); app.get('/', function(req,res,...) { if (req is admin) app.use('/', admin); else app.use('/', viewer); }
admin
和viewer
。我想做的是:
var admin = require('./routes/admin');
var viewer = require('./routes/viewer');
app.get('/', function(req,res,...) {
if (req is admin) app.use('/', admin);
else app.use('/', viewer);
});
这是可能的,还是我应该将它们重定向到不同的路径?谢谢 这需要根据需要将一条路由重定向到另一条路由 这可以使用以下代码完成:
var express = require('express');
var app = new express();
app.get('/', function(req, res, next) {
if(true) { //group check
res.redirect('admin');
} else {
res.redirect('viewer')
}
});
app.use('/admin', function(req, res, next) {
res.send('admin')
});
app.use('/viewer', function(req, res, next) {
res.send('viewer')
});
app.listen(3000);
它会给你任何错误吗?嗯,它挂起了。我会这样做,但网站的响应是404。你知道吗?哦,我发现我仍然需要在admin.js中编写
router.get('/',…)
,而不是router.get('/admin',…)
。为什么?顺便说一句,这将使所有其他路由崩溃。@RomulusUrakagiTs'ai编辑了虚拟工作代码。请检查这是否适合您。