Was dieses Werkzeug tut
Aus einer .env-Datei wird ein flaches JSON-Objekt.
# Dienst
export PORT=8080
NAME="Ada Lovelace"
EMPTY=
{
"PORT": "8080",
"NAME": "Ada Lovelace",
"EMPTY": ""
}
Kommentar- und Leerzeilen werden übersprungen, ein führendes export fällt weg, und die Anführungszeichen um einen Wert fallen mit ihm. In doppelten Anführungszeichen werden \n und \t zu Zeilenumbruch und Tabulator; in einfachen bleibt alles wörtlich, wie in einer Shell.
Eine zweimal gesetzte Variable wird abgelehnt
PORT=8080
PORT=3000
Duplicate variable "PORT" on line 2: it already has a different value
Eine Shell behält die letzte Zuweisung und sagt nichts: der erste Wert verschwand einfach. In einer .env, die zusammengeführt, bearbeitet und zwischen Umgebungen kopiert wurde, ist dieses Schweigen teuer: Sie lesen die Datei, sehen oben PORT=8080, und der Prozess läuft auf 3000. Das Werkzeug hält nun an und nennt Variable und Zeile. Zwei gleiche Zuweisungen sind das Geständnis von nichts und gehen weiter durch. Ein echter Fehler, beim Schreiben dieser Seite gefunden und behoben.
Alles ist Zeichenkette
ID=007
ACTIVE=true
COUNT=3
{
"ID": "007",
"ACTIVE": "true",
"COUNT": "3"
}
Eine Umgebungsvariable ist Text: das speichert das Betriebssystem, und das gibt process.env zurück. COUNT hier als Zahl zu typisieren wäre geraten, und ID als Zahl kostete ihre Nullen. Die Umwandlung behält den Text, und das Typisieren bleibt dort, wo die Bedeutung bekannt ist — in Ihrem Code.
Was das Format nicht trägt
- Auflösung.
PATH=$HOME/binbleibt$HOME/bin. Was$HOMEenthält, hängt von einer Maschine ab, die diese Seite nicht sieht. - Verschachtelung.
.envist eine flache Liste von Namen und Werten; es gibt keine Abschnitte und keine Struktur zu finden. - Einen Kommentar nach einem zitierten Wert.
A="a #b"behält sein Rautenzeichen, denn es steht innerhalb der Anführungszeichen. Nach einem blanken Wert beginnt#einen Kommentar und wird abgeschnitten. - Jeden beliebigen Namen. Ein Name besteht aus Buchstaben, Ziffern,
_und.und beginnt nicht mit einer Ziffer — die Regel, die auch die Shell anwendet. Alles andere wird benannt und abgelehnt, statt in ein JSON geschrieben zu werden, das keine.envwieder aufnehmen könnte.
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.