Estoy usando NextJS. Necesito crear 3 tipos de ambientes:
Necesito ejecutar en cada env. variables específicas.
Para desarrollo tengo .env , para producción tengo .env.production y para staging tengo .env.staging . Mis guiones se ven así:
"scripts": { "dev": "next dev -p 3001", "build": "next build", "start": "next start", },Para simular escenarios env. Creé esto:
"start:staging": "NODE_ENV=staging next dev -p 3001", Pero cuando compruebo console.log(process.env.NODE_ENV, 'env variable'); consigo development .
¿Qué hago mal y cómo obtener las variables adecuadas?
Está ejecutando next dev , lo que hace que su aplicación se ejecute en modo de desarrollo, es por eso que obtiene development .
Eche un vistazo a https://nextjs.org/docs/api-reference/cli#development
Si desea utilizar next.js en las funciones de entorno, debe seguir sus documentos https://nextjs.org/docs/basic-features/environment-variables#default-environment-variables . Básicamente, puede tener 3 archivos de entorno, local, desarrollo y producción, y se utilizarán al ejecutar la aplicación con next dev y next start. Los archivos env locales siempre anulan a los demás, no los confirme en su proyecto o no se utilizarán sus archivos de desarrollo y producción.
Si desea hacer exactamente lo que dijo (desarrollo, puesta en escena y producción), tendrá que anular el próximo env usted mismo. Puede lograr esto usando dotenv.