Динамическая рекурсивная маршрутизация URL в expressjs без использования Require () - PullRequest
0 голосов
/ 10 октября 2018

Context

Для API, с которым я работаю, я хочу иметь возможность использовать объект маршрутизатора expressjs в нескольких файлах, которые сами экспортируют объекты маршрутизатора, таким образом, что вы можете вызывать API с помощьюбессмысленно длинный URL-адрес, такой как /entity1/id/linkedEntity1/id/linkedEntity2ToLinkedEntity1/id/... ..., вы поняли.

Проблема

Я использовал, требует, чтобы получить объекты маршрутизатора из модулей и интегрировать их в маршрутизатор с router.use(url,router), делая вещь рекурсивной.Однако, как вы уже догадались, использовать узел require crashes нужно так, как вам требуется во время загрузки, а не во время выполнения ...

tl; dr: ИтакВ общем, мне нужен способ найти, какой маршрут выбрать путем загрузки файлов по URL-вызову.

Пример кода текущей сбойной версии

root.js

 module.exports = () => {    
    router.use("/entity1", require("routes/entity1")());
    router.use("/entity2", require("routes/entity2")());

    return router;
}

маршруты / entity1.js

module.exports = () => {    
    router.route('/')
       // route definition

    router.use("/entity2", require("routes/entity2")());

    return router;
}

маршруты / entity2.js

module.exports = () => {    
    router.route('/')
       // route definition

    router.use("/entity1", require("routes/entity1")());

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