Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

123
Visualizações
Establecer encabezados personalizados basados en diferentes envs

Quiero establecer encabezados personalizados de "id", "env" y "name" basados en envs en mi aplicación, todos tienen valores diferentes para diferentes envs. Tengo problemas para encontrar la forma más efectiva de hacer que funcione según la lógica de mi código.

Así es como defino el env:

 let host = "xxxxxxxx"; function getHost() { var env = getEnv(); env = env ? env : process.env.REACT_APP_ENV; switch (env) { case "stage": host = "xxxxxxxxxxxxxxxxxxx"; break; case "prod": host = "xxxxxxxxxxxxxxxxx"; break; case "local": host = "xxxxxxxxxxxxxx"; break; case "dev": default: host = "xxxxxxxxxxxxxxxxxxx"; break; } return host; } export const HOST = getHost();

Así es como se configuran todos los "encabezados" en mi aplicación, como puede ver, hasta ahora solo hay algunos valores:

 export function fetchRefresh(token) { return (dispatch) => { return fetch(API_ROOT + "/xxxxxxx/xxx/xxxxxx", { method: "POST", headers: { authorization: `Bearer ${token}`, "Content-Type": "application/json", Accept: "application/json", }, body: token, }) .then() // the rest } }

Pensé en hacer algo como esto y agregar ENCABEZADOS a los encabezados: {} en mi código, pero solo hará que los 3 encabezados personalizados que quiero agregar sean un solo objeto, todos deberían ser valores separados, no objeto:

 function getHeaders() { var env = getEnv(); env = env ? env : process.env.REACT_APP_ENV; switch (env) { case "stage": return { "ID": "xxxxxxxxxxxxxx", "ENV": "xxxxxxxxxxxx", "NAME": "xxxxxxxx", } case "prod": return { "ID": "xxxxxxxxxxxxxx", "ENV": "xxxxxxxxxxxx", "NAME": "xxxxxxxx", } case "local": return { "ID": "xxxxxxxxxxxxxx", "ENV": "xxxxxxxxxxxx", "NAME": "xxxxxxxx", } case "dev": return { "ID": "xxxxxxxxxxxxxx", "ENV": "xxxxxxxxxxxx", "NAME": "xxxxxxxx", } } } export const HEADERS = getHeaders();

¿Puedes ayudarme? Gracias

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

¿Te refieres a recuperar variables ambientales? Puede configurar el suyo propio trabajando con el paquete 'dotenv', que se usa con mucha frecuencia.

https://www.npmjs.com/package/dotenv

Puede configurar sus variables de entorno en un archivo .env de esta manera:

 MY_SECRET="new-secret-string" KEY=VALUE

que puede ser procesado por

 // This will read variables from .env file require('dotenv').config(); console.log(process.env.MY_SECRET)
about 4 years ago · Juan Pablo Isaza Relatório

0

Querrás hacer lo siguiente. Primero, instale https://www.npmjs.com/package/env-cmd

A continuación, puede especificar el .env que se usará según su entorno. El siguiente código le permite especificar la configuración de forma declarativa en lugar de imperativamente (que es lo que intentó hacer). Aunque está agregando una dependencia más, está obteniendo una forma más resistente de hacer las cosas. Ahora, cuando diga process.env.REACT_APP_ID process.env.REACT_APP_ENV process.env.REACT_APP_NAME , entonces, dependiendo de env, los valores correctos se recogerán de forma transparente.

 "scripts": { "start": "env-cmd -f env_anotherenv.env react-scripts start", "start_vscode": "env-cmd -f env_vscode.env react-scripts start", "build_staging": "env-cmd -f env_staging.env react-scripts build --profile", "build_production": "env-cmd -f env_production.env react-scripts build --profile" }

Ejemplo de env_production.env será

 REACT_APP_ID = someid REACT_APP_ENV = someenv REACT_APP_NAME = somename
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda