Was dieses Werkzeug tut
Ein flaches JSON-Objekt wird zu einer .env-Datei, eine Zuweisung je Zeile.
{ "PORT": 3000, "NAME": "meine App", "DEBUG": true }
PORT=3000
NAME="meine App"
DEBUG=true
Die Werte behalten ihren Text: eine Zahl, ein Wahrheitswert und eine Zeichenkette aus denselben Zeichen kommen gleich heraus, denn eine .env-Datei enthält nichts als Text.
Ein Name, den der Leser ablehnen würde, hält nun die Umwandlung an
Variablennamen werden geprüft, bevor irgendetwas geschrieben wird: Buchstaben, Ziffern, _ und ., nie eine Ziffer am Anfang. mein Schlüssel und 2fa werden abgelehnt, der schuldige Schlüssel wird genannt.
Das gehört offen gesagt, denn es ist ein Fehler, den dieses Werkzeug hatte. Es nahm jeden Schlüssel an und schrieb ihn hin, sodass {"mein Schlüssel": "1"} Folgendes ergab:
mein Schlüssel=1
eine Zeile, die der .env-Leser derselben Seite ablehnt und die auch eine Shell nicht für eine Zuweisung hielte. Ein Konverter, dessen Ausgabe seine eigene Umkehrung ablehnt, ist ein fehlerhafter Konverter. Der Fehler wurde beim Schreiben dieser Seite gefunden und behoben.
Anführungszeichen nur, wo sie nötig sind
Ein Wert wird zitiert, wenn er nackt anders enden würde: er enthält Leerraum, ein #, das einen Kommentar begänne, ein Anführungszeichen oder einen Backslash.
{ "GREETING": "hallo miteinander", "NOTE": "a # b" }
GREETING="hallo miteinander"
NOTE="a # b"
Innerhalb der Anführungszeichen wird ein echter Zeilenumbruch als \n geschrieben: eine Variable steht in einer Zeile, und ein Umbruch mitten im Wert beendete die Zuweisung dort.
Was eine .env-Datei nicht tragen kann
Verschachtelung hat darin keinen Platz: {"db": {"host": "x"}} wird abgelehnt, mit db genannt, statt zu DB_HOST oder db.host erfunden zu werden. Welches davon Ihre Anwendung erwartet, sagt das JSON nicht.
Und null wird ein leerer Wert, KEY=, der als leere Zeichenkette zurückgelesen wird. Diesen Unterschied gibt es im Format schlicht nicht — gut zu wissen, bevor Sie sich darauf verlassen.
Datenschutz ab Werk
Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.