flowchart TD
A[Környezeti szöveg] --> B[Darabolás separator szerint]
B --> C[Whitespace levágása]
C --> D[Üres elemek eltávolítása]
D --> E[Parser minden megmaradt elemre]
E --> F[Típusos lista]
A parsernek dobnia kell, ha hibás elemet észlel. A könyvtár nem tekinti automatikusan hibának a visszaadott NaN értéket.
const ports = env.list("ALLOWED_PORTS", value => {
if (!/^\d+$/.test(value)) thrownewError("Expected decimal digits");
const port = Number(value);
if (!Number.isSafeInteger(port) || port < 1 || port > 65535) {
thrownewError("Port out of range");
}
return port;
});
Reguláris kifejezések
A környezeti érték maga a minta, nem JavaScript regexliterál. A ^[a-z]+$ megfelelő; a /^[a-z]+$/i szöveg nem kapcsolja be az i flaget. A környezetből olvasott mintákhoz nincs külön flags-paraméter; egy default RegExp objektumnak lehetnek flagjei.
Értékek és listák
Metódusok áttekintése
string(key, defaultValue?, trim = true)stringint(key, defaultValue?, radix = 10)numberparseIntalapú feldolgozás.float(key, defaultValue?)numberparseFloatalapú feldolgozás.boolean(key, defaultValue?)booleantrue/false,yes/no,1/0; nem kis- és nagybetűérzékeny.oneOf(key, values, defaultValue?)regex(key, defaultValue?)RegExpnew RegExpkonstruktorral dolgozik.list(key, parser, defaultValue?, separator = ",")T[]const name = env.string("APP_NAME", "My app"); const raw = env.string("RAW_TEXT", undefined, false); const port = env.int("PORT", 3000); const ratio = env.float("SAMPLING_RATIO", 0.5); const debug = env.boolean("DEBUG", false); const mode = env.oneOf("APP_ENV", ["dev", "prod", "test"], "prod"); const pattern = env.regex("NAME_PATTERN", /^[a-z]+$/i);Listák
// ALLOWED_HOSTS= example.com, api.example.com, , const hosts = env.list("ALLOWED_HOSTS", value => value); // ["example.com", "api.example.com"] const labels = env.list("LABELS", value => value, [], ";");flowchart TD A[Környezeti szöveg] --> B[Darabolás separator szerint] B --> C[Whitespace levágása] C --> D[Üres elemek eltávolítása] D --> E[Parser minden megmaradt elemre] E --> F[Típusos lista]A parsernek dobnia kell, ha hibás elemet észlel. A könyvtár nem tekinti automatikusan hibának a visszaadott
NaNértéket.const ports = env.list("ALLOWED_PORTS", value => { if (!/^\d+$/.test(value)) throw new Error("Expected decimal digits"); const port = Number(value); if (!Number.isSafeInteger(port) || port < 1 || port > 65535) { throw new Error("Port out of range"); } return port; });Reguláris kifejezések
A környezeti érték maga a minta, nem JavaScript regexliterál. A
^[a-z]+$megfelelő; a/^[a-z]+$/iszöveg nem kapcsolja be aziflaget. A környezetből olvasott mintákhoz nincs külön flags-paraméter; egy defaultRegExpobjektumnak lehetnek flagjei.Tovább: URL-ek és leképezések.