Ich verwende Express 'Router in einer Webanwendung. Ich füge die Router die übliche Art und Weise:Wie kann ich den Mount-Pfad von Router Express kennen?
app.use(router, '/myroutehere/');
Die Handler für jeden Router haben keine Vorstellung davon, wo sie gewesen sind „gemountet“ (verschiedene Dateien, andere Sorgen, etc.). Das hat bis jetzt gut funktioniert, dass ich eine ToC für einen der Router erstellen muss (und der Inhalt dynamisch generiert wird). Ich verwende url.resolve
, um die relativen Pfade zu behandeln, aber mir fehlt der Anfangsteil der URL (andernfalls werden die Verbindungen zu /
statt /myrouter/
aufgelöst).
Gibt es eine Möglichkeit, den Mount-Pfad eines Routers zu kennen, ohne ihn an verschiedenen Stellen fest zu codieren?
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
});
Das scheint nur mit ausdrücklichen Anwendungen zu arbeiten und nicht das Router Objekt :(Ich bekomme jetzt nicht definiert, aber meinen Code wieder nur für den Fall überprüfen –
Ok, benötigen Sie:. ', , ' –
req.baseUrl scheint die richtige zu sein, obwohl es die Endung/in meinem Fall fehlt Können Sie Ihre Antwort aktualisieren, damit ich sie als markieren kann value one? Vielen Dank! –