Syntax
| 1 | |
| 2 | PORT=3000 |
| 3 | CHAT_URL=https://chat.xpulse.one |
| 4 | |
| 5 | |
| 6 | APP_NAME="xPulse Web" |
| 7 | APP_NAME='xPulse Web' |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | GREETING="Hello World" |
| 13 | |
| 14 | |
| 15 | SECRET=abc=123=xyz |
Regeln
- Bestehende
process.env Werte werden nicht überschrieben – System-Env hat Vorrang
- Kommentare (
#) und Leerzeilen werden ignoriert
- Anführungszeichen (
" und ') werden vom Wert entfernt
- Keine Interpolation –
${VAR} in .env wird nicht aufgelöst (das macht @xpulse/config)
- Gleichheitszeichen im Wert sind erlaubt (nur das erste
= trennt Key und Wert)
Mehrere Dateien
| 1 | .env ← Basis, immer geladen |
| 2 | .env.stage ← Überschreibt .env Werte für stage |
| 3 | .env.production ← Überschreibt .env Werte für production |
Werte in .env.{env} haben Vorrang über .env. Nicht vorhandene Dateien
werden stillschweigend ignoriert.
Beispiel
| 1 | |
| 2 | PORT=3000 |
| 3 | LOG_LEVEL=info |
| 4 | APP_URL=http://localhost:3000 |
| 1 | |
| 2 | APP_URL=https://rc-2-0-0.stage.xpulse.one |
| 3 | LOG_LEVEL=debug |
Ergebnis nach dotenv.load({ env: 'stage' }):
| 1 | PORT=3000 ← aus .env |
| 2 | LOG_LEVEL=debug ← aus .env.stage (überschrieben) |
| 3 | APP_URL=https://rc-2-0-0.stage.xpulse.one ← aus .env.stage (überschrieben) |