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编辑了虚拟工作代码。请检查这是否适合您。