Skip to content
Env Reader
Language:hu Author:AtomForge

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

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.

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.

Teaches (2)

  • útvonalfeloldás
  • fájlrendszer-ellenőrzés