对于我正在使用的api,我希望能够在多个文件中使用一个expressjs路由器对象,而这些文件本身会导出路由器阻塞的对象,这样您就可以使用一个长短的URL来调用API,例如{{1 }} ...,您明白了。
我已经使用了require从模块中获取路由器对象,并使用/entity1/id/linkedEntity1/id/linkedEntity2ToLinkedEntity1/id/...
将它们集成到路由器中,从而使该事物具有递归性。但是,正如您可能已经猜到的那样,在加载时而不是在执行时就使用了require crashs节点……
tl; dr: 因此,总的来说,我需要一种通过在URL调用中加载文件来查找要采用的路由的方法。
root.js
router.use(url,router)
routes / entity1.js
module.exports = () => {
router.use("/entity1", require("routes/entity1")());
router.use("/entity2", require("routes/entity2")());
return router;
}
routes / entity2.js
module.exports = () => {
router.route('/')
// route definition
router.use("/entity2", require("routes/entity2")());
return router;
}