De syntaxregels van .env-bestanden voor quotes, comments, lege waarden en multiline keys, waar dotenv en Docker Compose verschillen, plus een linter waarin u een bestand kunt plakken.
Een .env-bestand is platte tekst met één KEY=value-paar per regel. Lege regels worden overgeslagen en regels die met # beginnen zijn comments. Zet een waarde tussen quotes als die spaties aan de uiteinden, een #-teken of regeleinden bevat. Er is geen enkele standaard, dus dotenv voor Node en Docker Compose lezen een paar randgevallen verschillend.
Hoe dotenv veelvoorkomende regels leest
De meeste kapotte .env-bestanden falen op dezelfde handvol details: een # in een wachtwoord, een private key die over meerdere regels is geplakt, of een quote die nooit sluit. Plak uw bestand in de linter om te zien wat dotenv voor elke key zou lezen, en waar Docker Compose het anders zou lezen.
Nee. Het formaat is gegroeid uit toewijzingen van shellvariabelen en elke loader documenteert zijn eigen regels. Het dotenv-pakket voor Node en Docker Compose publiceren allebei hun regels, en ze zijn het eens over de basis: KEY=value-regels, #-comments en waarden tussen quotes.
Alleen als het nodig is. Quotes zijn vereist voor waarden met een #-teken, spaties aan het begin of eind, of regeleinden. Gebruik in Compose enkele quotes als u wilt dat een $ letterlijk blijft, omdat waarden tussen enkele quotes daar niet worden geïnterpoleerd.
Zet hem tussen dubbele quotes en behoud de echte regeleinden, wat dotenv vanaf versie 15.0.0 ondersteunt. U kunt hem ook op één regel houden en \n schrijven waar elk regeleinde komt, omdat waarden tussen dubbele quotes \n in een nieuwe regel omzetten.
Ja, maar voorzichtig. dotenv ziet een # zonder quotes als het begin van een comment. Docker Compose doet dat alleen als er een spatie voor de # staat, dus KEY=a#b geeft a#b in Compose maar a in dotenv. Zet voor de zekerheid een spatie voor inline comments.
Nee. Standaard wijzigt dotenv nooit een variabele die al in de omgeving bestaat, dus een waarde die uw shell of host zet wint. Geef de optie override mee met de waarde true als u wilt dat het bestand ze vervangt.
Dezelfde regel gelezen door twee loaders
Dezelfde keys als het echte bestand, veilige dummywaarden, comments die elke groep uitleggen. Commit dit bestand, nooit de echte .env.
config() leest standaard .env uit de huidige werkmap. Waarden die al in de omgeving staan, blijven zoals ze zijn.
Plak uw .env-bestand
Wat dotenv uit elke regel leest
Regel
Key
Waarde
Notities
(lege string)
{n} keys gelezen, {v} met notities
Nog geen keys gevonden.
Geen =-teken, dus deze regel wordt genegeerd.
De key bevat een spatie. Verwijder die, anders wordt de regel niet geparset zoals u verwacht.
Geen portabele naam. Shells verwachten letters, cijfers en underscores, niet beginnend met een cijfer.
De quote sluit nooit, dus de rest van het bestand kan in deze waarde worden opgeslokt.
Ook gezet op regel {n}. Houd er één over zodat niemand hoeft te raden welke wint.
dotenv stopt bij de #, maar Docker Compose behoudt hem omdat er geen spatie voor staat. Zet de waarde tussen quotes.
Bevat $. Docker Compose breidt dit uit; gewone dotenv houdt het zoals geschreven.
Loopt over meerdere regels binnen quotes.
Gratis beginnen · Geen creditcard nodig