2016-08-02 10 views
0


Ich habe ein Bild, das ich als Hintergrund der Homepage angezeigt werden soll. Das ist, was ich tue,Node.js (Express): Wie wird der korrekte Wert für 'src' Attribut eines 'img' Tags eingefügt?

background: url(../../imgs/b2.jpeg) no-repeat center fixed; 

Das Bild wird in den Ordner ‚imgs‘ befindet und die Navigation ist richtig. Jetzt höre ich Port 5000 meiner lokalen Host-Adresse. (127.0.0.1) und wenn ich meine Bewerbung Vorschau das Bild ist nicht in der Lage aufgrund der folgenden Fehler zu laden,

http://127.0.0.1:3000/imgs/b1.jpeg - Fehlgeschlagen Ressource laden: der Server mit einem Status von 404 geantwortet (nicht gefunden)

Dies liegt daran, dass der Browser nach der Datei in Bezug auf die IP-Adresse sucht. Wie lege ich in diesem Fall den richtigen Speicherort meines Bildes fest, das lokal gespeichert wird?

Danke!

+0

Schauen Sie sich diese https://expressjs.com/de/starter/static-files.html – jonathanGB

+1

Ja, danke :) – Scrotch

+0

node.js dient keine Dateien standardmäßig. Sie müssen über eine Route verfügen, die in der Lage ist, jede Datei zu liefern, von der Sie erwarten, dass der Nodejs-Server auf eine Anforderung antwortet. 'app.use ("/somepath ", express.static (" somelocalpath "))' wird oft verwendet, um statische Dateien zu liefern. Und in Ihrem Client sollten Sie wahrscheinlich Root-URLs wie '/ imgs/b2.jpeg', nicht' ../../ 'verwenden. Remember URLs sind nur etwas, das an den Server übergeben wird - sie sind keine direkten Dateisystemreferenzen. – jfriend00

Antwort

1

Dies ist, wie ich es schließlich gelöst, ich Set-up meine App das öffentliche Verzeichnis,

app.use(express.static(__dirname + "/public")); 

Danach, das ist, wie ich angegeben den Weg zu meinen Bildern, die ich in public/imgs gespeichert dienen

localhost:3000/imgs/b1.jpeg

Und voila, es hat funktioniert!
Danke fürs schauen.