Tengo un archivo .env (estoy usando next.js y node.js, donde cada uno tiene su propio .env ), donde algunos contenidos son diferentes para el desarrollo y la implementación.
Para desarrollo:
DOMAIN_URL=https://localhost:3000 GOOGLE_CLIENT_ID='abc'Para el despliegue:
DOMAIN_URL=https://www.example.com GOOGLE_CLIENT_ID='def' Espero facilitarlo configurando un indicador que diga DEV_FLAG=dev o DEV_FLAG=production y de acuerdo con DEV_FLAG , .env se puede configurar en consecuencia,
.env ?.env para un contexto diferente?El archivo .env no está destinado a ser confirmado en el repositorio. Debe agregarse antes de ejecutar la aplicación. VCS debe ignorarlo agregando la línea .env al archivo .gitignore o .hgignore .
El archivo .env contiene valores potencialmente secretos y no desea tenerlos en el repositorio para que todos los vean.
Puede confirmar example.env para que los implementadores vean qué variables env están disponibles. Deployer/DevOp ejecutará cp example.env .env , luego editará el archivo .env y ejecutará la aplicación.
Puede confirmar default.env y cargarlo en la aplicación antes de cargar el archivo .env para obtener algunos valores predeterminados sensatos, no secretos, para pruebas o algún entorno de implementación genérico (localhost).
Pero el archivo .env debe ser original en cada implementación.
Puede establecer algún indicador DEV_FLAG=dev o DEV_FLAG=prod y en la aplicación cambiar algún comportamiento en función de su valor, pero generalmente no lo recomendaría porque oculta las consecuencias.
Tal vez esté desarrollando en una PC y desee cambiar los valores de .env . Puede tener más líneas en el archivo y comentarlas según sea necesario o puede tener archivos prod.env o local.env y cp local.env .env según sea necesario mientras los ignora en .gitignore .
Puede leer más sobre este tema aquí: https://www.12factor.net/config