0Pricing
JavaScript Academy · Lezione

Variabili d’ambiente e schemi di configurazione

Configuri le app con piccoli valori predefiniti, letture sicure delle variabili d’ambiente e oggetti espliciti. Eviti di esporre segreti nel browser con schemi adatti ai principianti.

Variabili d’ambiente e schemi di configurazione è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 3 lezioni in totale.

Panoramica

Obiettivo: leggere la configurazione in sicurezza in qualsiasi runtime.

  • Prima i valori predefiniti
  • Rilevi la funzionalità dell'ambiente (non dia per scontato process.env)
  • Analizzi le stringhe come numeri/booleani
  • Nessun segreto nei bundle del browser
Variabili d’ambiente e schemi di configurazione — illustrazione 1

Lettura sicura dell'env

Utilizzi il feature detection per leggere env solo quando esiste. Fornisca un piccolo store dimostrativo per esempi eseguibili.

// 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"));
Variabili d’ambiente e schemi di configurazione — illustrazione 2

Configurazione da default + env

Prima i valori predefiniti, poi li sovrascriva con env. Converta esplicitamente le stringhe in 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);
Variabili d’ambiente e schemi di configurazione — illustrazione 3

Parametro config esplicito

Passi un piccolo oggetto config alle funzioni. In questo modo evita lo stato globale e le sorprese.

// 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));
Variabili d’ambiente e schemi di configurazione — illustrazione 4

Analizzare env in sicurezza

I valori di env sono stringhe. Scriva piccoli parser per booleani e interi, così da evitare bug.

// 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));
Variabili d’ambiente e schemi di configurazione — illustrazione 5

Segreti e codice client

Importante:

  • Non inserisca segreti nel codice JS lato client: gli utenti possono leggerli.
  • Mantenga nel browser solo flag e URL innocui.
  • In Node, legga i segreti reali da process.env o da un vault.
  • Mantenga sempre una configurazione predefinita per le esecuzioni locali.
Variabili d’ambiente e schemi di configurazione — illustrazione 6

Quiz sulle basi di env/config

Verifica rapida: modello di configurazione portabile.

Variabili d’ambiente e schemi di configurazione — illustrazione 7

Riepilogo

Riepilogo: costruisca la configurazione a partire da valori predefiniti + letture sicure di env, analizzi le stringhe e passi un oggetto config esplicito. Non distribuisca mai segreti nel codice client.

Variabili d’ambiente e schemi di configurazione — illustrazione 8

Domande Frequenti

La lezione «Variabili d’ambiente e schemi di configurazione» è gratuita?

Sì — il testo completo di «Variabili d’ambiente e schemi di configurazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 3 lezioni in totale.

Cosa imparerò in «Variabili d’ambiente e schemi di configurazione»?

Configuri le app con piccoli valori predefiniti, letture sicure delle variabili d’ambiente e oggetti espliciti. Eviti di esporre segreti nel browser con schemi adatti ai principianti. Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare JavaScript Academy?

Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.

Quanto tempo richiede la lezione «Variabili d’ambiente e schemi di configurazione»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?

Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Globali, disponibilità di fetch, API per file e rete
  2. Particolarità del loader ESM, differenze tra path e URL
  3. Variabili d’ambiente e schemi di configurazione
← Torna a JavaScript Academy