0Pricing
JavaScript Academy · Aula

Variáveis de ambiente e padrões de configuração

Configure aplicativos com pequenos valores padrão, leituras seguras do ambiente e objetos explícitos. Evite expor segredos no navegador. Padrões adequados para iniciantes

Variáveis de ambiente e padrões de configuração é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.

Visão geral

Objetivo: Ler configurações com segurança em qualquer ambiente de execução.

  • Padrões primeiro
  • Detecte o recurso ambiente; não presuma que process.env existe
  • Analise cadeias de caracteres como números/valores booleanos
  • Nunca inclua segredos nos pacotes do navegador
Variáveis de ambiente e padrões de configuração — ilustração 1

Leitura segura do ambiente

Use a detecção de recursos para ler o ambiente somente quando ele existir. Forneça um pequeno armazenamento de demonstração para exemplos executáveis.

// 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"));
Variáveis de ambiente e padrões de configuração — ilustração 2

Configuração a partir de padrões+ambiente

Use os padrões primeiro e depois substitua-os pelos valores do ambiente. Converta explicitamente as cadeias de caracteres em 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);
Variáveis de ambiente e padrões de configuração — ilustração 3

Parâmetro de configuração explícito

Passe um pequeno objeto de configuração para as funções. Isso evita estado global e surpresas.

// 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));
Variáveis de ambiente e padrões de configuração — ilustração 4

Análise segura do ambiente

Os valores do ambiente são cadeias de caracteres. Escreva pequenos analisadores para valores booleanos e inteiros a fim de evitar erros.

// 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));
Variáveis de ambiente e padrões de configuração — ilustração 5

Segredos e código do cliente

Importante:

  • Não coloque segredos no JS do lado do cliente; os usuários podem lê-los.
  • Mantenha no navegador apenas sinalizadores e URLs inofensivos.
  • No Node, leia os segredos reais de process.env ou de um cofre.
  • Mantenha sempre uma configuração padrão para execuções locais.
Variáveis de ambiente e padrões de configuração — ilustração 6

Questionário sobre fundamentos do ambiente/configuração

Verificação rápida: padrão de configuração portável.

Variáveis de ambiente e padrões de configuração — ilustração 7

Recapitulação

Recapitulação: Crie a configuração a partir de padrões + leituras seguras do ambiente, analise as cadeias de caracteres e passe um objeto de configuração explícito. Nunca envie segredos no código do cliente.

Variáveis de ambiente e padrões de configuração — ilustração 8

Perguntas Frequentes

A aula “Variáveis de ambiente e padrões de configuração” é grátis?

Sim — o texto completo de “Variáveis de ambiente e padrões de configuração” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.

O que vou aprender em “Variáveis de ambiente e padrões de configuração”?

Configure aplicativos com pequenos valores padrão, leituras seguras do ambiente e objetos explícitos. Evite expor segredos no navegador. Padrões adequados para iniciantes Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar JavaScript Academy?

Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.

Quanto tempo leva a aula “Variáveis de ambiente e padrões de configuração”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de JavaScript Academy?

Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Globais, disponibilidade de fetch e APIs de arquivos e rede
  2. Particularidades do carregador ESM e diferenças entre caminho e URL
  3. Variáveis de ambiente e padrões de configuração
← Voltar para JavaScript Academy