stayInProject = true: path.resolve(projectRoot, value.trim()) szerint oldja fel az értéket, majd ellenőrzi az útvonalprefixet.
stayInProject = false: path.resolve(value.trim()) szerint oldja fel; relatív értéknél a folyamat munkakönyvtára számít, nem a megadott projektgyökér.
flowchart TD
A[Változó vagy default] --> B[Trim és abszolút útvonal feloldása]
B --> C{stayInProject?}
C -->|Igen| D[Projektgyökér-prefix ellenőrzése]
C -->|Nem| E[Fájlrendszer ellenőrzése]
D -->|Megfelel| E
D -->|Nem felel meg| F[Hiba]
E --> G{Megfelelő fájl vagy könyvtár?}
G -->|Igen| H[Útvonal visszaadása]
G -->|Nem| I[onMissing alkalmazása]
Hiányzó vagy rossz típusú útvonal
onMissing
Viselkedés
true
Hibát dob; ez az alapértelmezés.
false
Visszaadja az útvonalat, létrehozás nélkül.
(path) => void
Meghívja a callbacket, majd visszaadja az útvonalat, ha a callback nem dobott.
A callback hiányzó útvonalnál és rossz típusnál is futhat: például ha a dir() által vizsgált helyen fájl található. A callback után nincs újabb típusellenőrzés.
Fájlok és könyvtárak
const certificate = env.file("TLS_CERT", "certs/server.pem"); const uploads = env.dir("UPLOAD_DIR", "var/uploads");Mindkét metódus abszolút útvonalat ad vissza, és szinkron fájlrendszer-ellenőrzést végez.
file(key, defaultValue?, onMissing = true, stayInProject = true) dir(key, defaultValue?, onMissing = true, stayInProject = true)Feloldási módok
stayInProject = true:path.resolve(projectRoot, value.trim())szerint oldja fel az értéket, majd ellenőrzi az útvonalprefixet.stayInProject = false:path.resolve(value.trim())szerint oldja fel; relatív értéknél a folyamat munkakönyvtára számít, nem a megadott projektgyökér.flowchart TD A[Változó vagy default] --> B[Trim és abszolút útvonal feloldása] B --> C{stayInProject?} C -->|Igen| D[Projektgyökér-prefix ellenőrzése] C -->|Nem| E[Fájlrendszer ellenőrzése] D -->|Megfelel| E D -->|Nem felel meg| F[Hiba] E --> G{Megfelelő fájl vagy könyvtár?} G -->|Igen| H[Útvonal visszaadása] G -->|Nem| I[onMissing alkalmazása]Hiányzó vagy rossz típusú útvonal
onMissingtruefalse(path) => voidA callback hiányzó útvonalnál és rossz típusnál is futhat: például ha a
dir()által vizsgált helyen fájl található. A callback után nincs újabb típusellenőrzés.import * as fs from "node:fs"; const cache = env.dir("CACHE_DIR", "var/cache", directory => { fs.mkdirSync(directory, { recursive: true }); });Tovább: Integráció és hibakezelés.