JavaScript Academy · Les

Omgevingsvariabelen en configuratiepatronen

Configureer apps met kleine standaardwaarden, veilige uitlezing van omgevingsvariabelen en expliciete objecten. Voorkom het lekken van geheimen in de browser. Patronen voor beginners

Les 3 van 38 stappen

Omgevingsvariabelen en configuratiepatronen is een gratis JavaScript Academy-les op CoddyKit. Dit is les 3 van 3. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject JavaScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus JavaScript Academy bevat in totaal 3 lessen.

Overzicht

Doel: Configuratie veilig lezen in elke uitvoeringsomgeving.

  • Standaardwaarden eerst
  • Functiedetectie voor de omgeving (ga niet uit van process.env)
  • Tekenreeksen parsen naar getallen/booleaanse waarden
  • Geen geheimen in browserbundels
Omgevingsvariabelen en configuratiepatronen — illustratie 1

Omgevingsvariabelen veilig lezen

Gebruik functiedetectie om omgevingsvariabelen alleen te lezen als ze bestaan. Geef uitvoerbare voorbeelden een kleine demopslag.

// 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"));
Omgevingsvariabelen en configuratiepatronen — illustratie 2

Configuratie uit standaardwaarden + omgeving

Standaardwaarden eerst en daarna overschrijven vanuit de omgeving. Zet tekenreeksen expliciet om naar 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);
Omgevingsvariabelen en configuratiepatronen — illustratie 3

Expliciete configuratieparameter

Geef functies een klein configuratieobject. Zo vermijd je globale toestand en verrassingen.

// 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));
Omgevingsvariabelen en configuratiepatronen — illustratie 4

Omgeving veilig parsen

Waarden uit de omgeving zijn tekenreeksen. Schrijf kleine parsers voor booleaanse waarden en gehele getallen om fouten te voorkomen.

// 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));
Omgevingsvariabelen en configuratiepatronen — illustratie 5

Geheimen en clientcode

Belangrijk:

  • Plaats geen geheimen in JavaScript aan de clientzijde; gebruikers kunnen ze lezen.
  • Houd alleen onschadelijke vlaggen/URL's in de browser.
  • Lees in Node echte geheimen uit process.env of een geheimenkluis.
  • Houd altijd een standaardconfiguratie voor lokale uitvoeringen.
Omgevingsvariabelen en configuratiepatronen — illustratie 6

Kennistoets over de basis van omgeving en configuratie

Korte controle: draagbaar configuratiepatroon.

Omgevingsvariabelen en configuratiepatronen — illustratie 7

Samenvatting

Samenvatting: Bouw configuratie op uit standaardwaarden en veilige lezingen van de omgeving, parse tekenreeksen en geef een expliciet configuratieobject door. Neem nooit geheimen op in clientcode.

Omgevingsvariabelen en configuratiepatronen — illustratie 8
Gratis beginnen

Leer JavaScript met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
59
Lessen
200

Veelgestelde vragen

Is de les “Omgevingsvariabelen en configuratiepatronen” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad JavaScript Academy, waaronder “Omgevingsvariabelen en configuratiepatronen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus JavaScript Academy bevat in totaal 3 lessen.

Wat leer ik in “Omgevingsvariabelen en configuratiepatronen”?

Configureer apps met kleine standaardwaarden, veilige uitlezing van omgevingsvariabelen en expliciete objecten. Voorkom het lekken van geheimen in de browser. Patronen voor beginners Je oefent met JavaScript Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met JavaScript Academy te beginnen?

Ervaring vooraf is niet nodig. JavaScript Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 3.

Hoe lang duurt de les “Omgevingsvariabelen en configuratiepatronen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over JavaScript Academy?

Ja. Elke les over JavaScript Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Globals, beschikbaarheid van fetch en bestands-/netwerk-API's
  2. Eigenaardigheden van de ESM-loader, verschillen tussen paden en URL's
  3. Omgevingsvariabelen en configuratiepatronen
← Terug naar JavaScript Academy