Miljøvariabler og konfigurationsmønstre
Konfigurér apps med små standardværdier, sikre env-opslag og eksplicitte objekter. Undgå at lække hemmeligheder i browseren. Begyndervenlige mønstre.
Miljøvariabler og konfigurationsmønstre er en gratis JavaScript Academy-lektion på CoddyKit. Dette er lektion 3 af 3. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i JavaScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. JavaScript Academy-kurset indeholder 3 lektioner i alt.
Overblik
Mål: Læs konfiguration sikkert i ethvert kørselsmiljø.
- Standardværdier først
- Lav et funktionstjek af miljøet (antag ikke process.env)
- Fortolk tekststrenge som tal/boolsk værdi
- Ingen hemmeligheder i browserpakker

Sikker læsning af miljø
Brug funktionstjek til kun at læse miljøet, når det findes. Sørg for et lille demonstrationslager til eksempler, der kan køres.
// Read an env var if available; otherwise use a fallback
function readEnv(name, fallback) {
// detect Node-like env
const hasProcessEnv = typeof process !== "undefined" && process && process.env && typeof process.env === "object";
if (hasProcessEnv && typeof process.env[name] === "string") {
return process.env[name];
}
// demo fallback store so this snippet runs everywhere
const DEMO = { API_URL: "https://api.example.com", NODE_ENV: "development" };
if (typeof DEMO[name] === "string") return DEMO[name];
return fallback;
}
console.log("API_URL:", readEnv("API_URL", "https://fallback.local"));

Konfiguration fra standardværdier + miljø
Standardværdier først, og tilsidesæt derefter med værdier fra miljøet. Konvertér tekststrenge eksplicit til number/boolean.
// Build config from defaults, then override via env when present
function buildConfig() {
const defaults = {
apiUrl: "https://api.example.com",
port: 3000,
debug: false
};
// env values are strings; parse to right types
const apiUrl = readEnv("API_URL", defaults.apiUrl);
const portStr = readEnv("PORT", String(defaults.port));
const debugStr = readEnv("DEBUG", defaults.debug ? "1" : "0");
return {
apiUrl: apiUrl,
port: Number.parseInt(portStr, 10),
debug: debugStr === "1" || debugStr === "true"
};
}
const cfg = buildConfig();
console.log("config:", cfg);

Eksplicit konfigurationsparameter
Send et lille konfigurationsobjekt til funktioner. Det undgår global tilstand og overraskelser.
// Pass config into functions explicitly (easier to test)
function startApp(config) {
// use values directly
const mode = config.debug ? "debug" : "prod";
return "Starting " + mode + " at " + config.apiUrl + " on :" + config.port;
}
console.log(startApp(cfg));

Fortolk miljøet sikkert
Miljøværdier er tekststrenge. Skriv små fortolkere til boolske værdier og heltal for at undgå fejl.
// Helpers to parse common env shapes safely
function toBool(s, fallback) {
if (typeof s !== "string") return fallback;
const v = s.trim().toLowerCase();
if (v === "1" || v === "true" || v === "yes") return true;
if (v === "0" || v === "false" || v === "no") return false;
return fallback;
}
function toInt(s, fallback) {
const n = Number.parseInt(s, 10);
return Number.isFinite(n) ? n : fallback;
}
console.log("toBool:", toBool("yes", false), toBool("no", true));
console.log("toInt :", toInt("8080", 3000), toInt("oops", 3000));

Hemmeligheder og klientkode
Vigtigt:
- Læg ikke hemmeligheder i JavaScript på klientsiden; brugerne kan læse dem.
- Behold kun ufarlige flag og URL'er i browseren.
- I Node skal du læse rigtige hemmeligheder fra process.env eller et hemmelighedslager.
- Hav altid en standardkonfiguration til lokale kørsler.

Test i miljø og konfiguration
Hurtigt tjek: Portabelt konfigurationsmønster.

Opsamling
Opsamling: Opbyg konfiguration fra standardværdier og sikre miljølæsninger, fortolk tekststrenge, og send et eksplicit konfigurationsobjekt. Udsend aldrig hemmeligheder i klientkode.

Lær JavaScript med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 59
- Lektioner
- 200
Ofte stillede spørgsmål
Er lektionen “Miljøvariabler og konfigurationsmønstre” gratis?
Ja — alle 3 lektioner i læringssporet JavaScript Academy, inklusive “Miljøvariabler og konfigurationsmønstre”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. JavaScript Academy-kurset indeholder 3 lektioner i alt.
Hvad lærer jeg i “Miljøvariabler og konfigurationsmønstre”?
Konfigurér apps med små standardværdier, sikre env-opslag og eksplicitte objekter. Undgå at lække hemmeligheder i browseren. Begyndervenlige mønstre. Du øver dig i JavaScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på JavaScript Academy?
Der kræves ingen tidligere erfaring. JavaScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 3.
Hvor lang tid tager lektionen “Miljøvariabler og konfigurationsmønstre”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne JavaScript Academy-lektion?
Ja. Alle JavaScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Globals, tilgængelighed af fetch og fil-/netværks-API'er
- ESM-loaderens særheder og forskelle på paths og URLs
- Miljøvariabler og konfigurationsmønstre