Sunrabbit

[Next.js] Laufzeitumgebungsinjektion

  • Verfasst in: Koreanisch
  • Land: Alle Ländercountry-flag
  • IT

Erstellt: 2024-03-20

Erstellt: 2024-03-20 14:06

In Next.js werden .env-Variablen zur Buildzeit hartcodiert.


Es gibt jedoch viele Fälle, in denen die Umgebungsvariablen nicht zur Buildzeit, sondern erst beim Ausführen des erstellten Images gesetzt werden sollen.

Dies ist üblicherweise der Fall, wenn man verschiedene Umgebungen wie local, dev, qa und prod verwalten möchte.


Wie können wir das erreichen?


Die meisten Lösungsansätze ähneln dem folgenden Artikel.



Dieser Artikel vernachlässigt jedoch Windows-Systeme.

Wie man in den Skripten in der package.json sieht, wird Unix-Syntax verwendet.

Das bedeutet, dass Windows-Benutzer, die sauberes und übersichtliches Coding bevorzugen und Unix-Syntax vermeiden möchten, dieses Skript nicht verwenden können.


Daher sollten Windows-Benutzer, die sauber und rücksichtsvoll arbeiten, ein Skript bereitstellen, das auf beiden Betriebssystemen einwandfrei funktioniert, um Unix-Benutzer zu unterstützen.



Die Lösung ist einfach.

Man muss nur ein Skript verwenden, das die gleiche Funktion wie die oben genannte Syntax erfüllt.

Mit dem obigen Befehl wird cross-env installiert.


Und wenn man den oben erwähnten Startbefehl wie folgt anpasst, ist das Problem gelöst.

Das Skript wird jedoch zu lang und unübersichtlich, außerdem muss man es auch dem dev-Befehl hinzufügen.

Daher habe ich es wie folgt strukturiert.

Kommentare0