Next.js: Statische Ressourcen werden vom falschen Ort gerendert (auf benutzerdefiniertem Server)

Erstellt am 27. Dez. 2016  ·  3Kommentare  ·  Quelle: vercel/next.js

Ich bekomme ein seltsames (und meiner Meinung nach falsches) Verhalten mit statischen Ressourcen, wenn ich einen benutzerdefinierten Server verwende (auf 2.0.0 Beta).
Wenn mein benutzerdefinierter Server beispielsweise eine Anfrage an „/blog/:id“ richtet, werden die statischen Ressourcen in „./blog/static/image.jpg“ nachgeschlagen.

Zur einfachen Reproduktion habe ich die Rendermethode von "blog" in "parameterized-routing" bearbeitet:

return <div>
      <h1>My {this.props.id} blog post</h1>
      <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
        tempor incididunt ut labore et dolore magna aliqua.
      </p>
      <img src="./static/x.jpg" />
    </div>

Und natürlich wurde ein Bild mit dem Namen "x.jpg" zum Ordner "statisch" hinzugefügt.

Ich kann es umgehen, indem ich die Datei in "../static/x.jpg" anschaue, aber das ist falsch, da es die Tatsache ausnutzt, dass blog nicht unter index.js sitzt.

Hilfreichster Kommentar

Sollte es nicht <img src="/static/x.jpg" /> (kein ./ ) ?
Ich bin davon ausgegangen, dass die Seite auf /blog/id wird.

Alle 3 Kommentare

@DvirSh könnten Sie uns ein Beispiel-Repo schicken.
Das könnten wir uns also näher anschauen.

Sollte es nicht <img src="/static/x.jpg" /> (kein ./ ) ?
Ich bin davon ausgegangen, dass die Seite auf /blog/id wird.

@nkzawa du hast recht!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen