繁体   English   中英

在重定向上找不到快速路由,但存在路由

[英]Express route not found on redirect but route exists

因此,在我的快递服务器中,我已重定向到这样的路线/chat

if (!user) {
            res.json(info);
        } else {
            req.logIn(user, function() {
                res.redirect('/chat');
            })
        } 

我像这样把路线

app.use('/chat', require('./routes/chat'));

并在我的路线/聊天文件中

import * as express from 'express';
const router = express.Router();

// Chat Page
router.get('/chat', (req: express.Request, res: express.Response) => res.render('chat'));

module.exports = router;

我要为其重定向到显示React组件的路由,但返回GET http://localhost:3000/chat 404 (Not Found) Error: Request failed with status code 404

如果我仅粘贴路径http://localhost:3000/chat并转到页面,则组件将显示出来。

因此,我不确定在这种情况下该怎么办以及如何解决?

尝试

router.get('/', (req: express.Request, res: express.Response) => res.render('chat'));

您已经定义了/chat路径。

通过app.use(),您可以为应用程序对象的实例定义应用程序级中间件。

因此,您可以在chat.js中的/chat路由上定义一个中间件

app.use('/chat', require('./routes/chat'));

现在在chat.js中,您可以执行以下操作:

router.get('/', (req: express.Request, res: express.Response) => res.render('chat'));

它解析为/ chat。

即使您想将另一条路线定义为/chat/room也可以在chat.js中进行此操作

router.get('/room', (req: express.Request, res: express.Response) => res.render('chat'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM