Экспресс-маршрут не найден при перенаправлении, но маршрут существует - PullRequest
0 голосов
/ 27 января 2019

Итак, на моем экспресс-сервере у меня есть перенаправление на маршрут /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 иперейдите на страницу, где отображается мой компонент.

Так что я не совсем уверен, что делать в этой ситуации и как это исправить?

Ответы [ 2 ]

0 голосов
/ 27 января 2019

С помощью app.use () вы можете определить промежуточное ПО уровня приложения для экземпляра объекта приложения.

Итак, вы определяете промежуточное ПО на /chat маршруте в chat.js

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'));
0 голосов
/ 27 января 2019

try

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

Вы уже определили /chat путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...