Manchmal möchte ich eine qualifizierte URL in einer Mail von meiner Knotenanwendung senden. Oder ich möchte den Inhalt eines Phantom-Seitenobjekts festlegen.nodejs express: Hostname mit Port vom req -Objekt
Ich bekomme die vollständige URL wie folgt in meinem Deployment-Setup.
'http://' + req.hostname + '/myapp'
jedoch auf die Entwicklung Maschine erzeugt dies in der Regel:
http://localhost/myapp statt off http://localhost:3000/myapp
Ich weiß, wie Sie den Port zu bekommen, aber ich will nicht wie etwas verwenden:
'http://' + req.hostname + ':' + port + '/myapp'
Was würde Unsinn wie dies bei der Bereitstellung hinter einem Proxy produzieren.
Gibt es eine intelligente Art und Weise die Hostnamen mit Port aus dem Request-Objekt zu erhalten, wenn die App außerhalb eines Proxy laufen?
Ja. Ich mache das. Wie erwähnt. Im Einsatz funktioniert alles wie es sein soll. Das Problem besteht nur auf meiner Entwicklungsplattform. Im Moment habe ich localhost: 3000 hardcoded und wechsele dann Kommentare bevor ich zur Versionskontrolle dränge. Es funktioniert, aber es ist nicht elegant, daher die Frage, ob es etwas schlauer möglich ist, dies in der Entwicklung von localhost funktionieren zu lassen, so wie es in der Bereitstellung funktionieren wird. –