我在网络应用程序上使用快递'Router。 我正在以通常的方式添加路由器:
app.use(router, '/myroutehere/');
每个路由器的处理程序都不知道它们已被“挂载”的位置(不同的文件,不同的关注点等)。直到现在我还需要为其中一个路由器创建一个ToC(并且内容是动态生成的)。我正在使用url.resolve
来处理相对路径,但我错过了网址的初始部分(否则链接将解析为/
而不是/myrouter/
)。
有没有办法知道路由器的挂载路径,而不是在不同的地方硬编码?
router.get('/', function(req, res){
// Need to know the mount path here or a way to resolve relative links
// to the mount path and make them absolute to the app
});
答案 0 :(得分:6)
" router.mountpath&#34 ;?
http://expressjs.com/api.html#app.mountpath
更新。好的,您需要:<req.route.path>, <req.baseUrl>, <req.originalUrl>