Экспресс baseUrl параметр недоступен - PullRequest
0 голосов
/ 28 апреля 2018

Допустим, у меня есть следующие маршруты:

// routes.js
import PhotoRoutes from './photoRoutes';

const UserBaseRoute = Router();
UserBaseRoute.use('/api/:userId', PhotoRoutes);

// photoRoutes.js
const PhotoRoute = Router();
PhotoRoute.get('/', (req, res) => {
    console.log(req.params);
    res.end();
});

export default PhotoRoute;

Когда я нажимаю /api/123/, я ожидаю использовать {"userId: 123}' Но я не делаю. Почему :userId, определенный в baseRoute, не пропущен?

1 Ответ

0 голосов
/ 28 апреля 2018

Это проблема, связанная с вложенным маршрутизатором. Вам необходимо установить mergeParams дочернего маршрутизатора как true для доступа к params из родительского маршрутизатора.

Поэтому попробуйте следующий код:

const PhotoRoute = Router({mergeParams: true});

Кстати, эта опция поставляется с Express версия 4.5. Подробнее см. В документе API

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