.env
Un archivo .env especifica tus variables de entorno en tiempo de compilación/desarrollo.
Este archivo debe ser añadido a tu archivo .gitignore
para evitar subir secretos a tu repositorio.
Tiempo de Desarrollo, Compilación y Generación
Nuxt CLI tiene soporte incorporado para dotenv en modo de desarrollo y al ejecutar nuxt build
y nuxt generate
.
Además de cualquier variable de entorno del proceso, si tienes un archivo .env
en el directorio raíz de tu proyecto, se cargará automáticamente en tiempo de desarrollo, compilación y generación. Cualquier variable de entorno establecida allí será accesible dentro de tu archivo nuxt.config
y módulos.
MY_ENV_VARIABLE=hello
Ten en cuenta que eliminar una variable de .env
o eliminar el archivo .env
por completo no deshará los valores que ya se han establecido.
Archivo Personalizado
Si deseas usar un archivo diferente, por ejemplo, para usar .env.local
o .env.production
, puedes hacerlo pasando la bandera --dotenv
al usar el Nuxt CLI.
npx nuxt dev --dotenv .env.local
Al actualizar .env
en modo de desarrollo, la instancia de Nuxt se reinicia automáticamente para aplicar nuevos valores a process.env
.
En el código de tu aplicación, deberías usar Runtime Config en lugar de variables de entorno simples.
Producción
Después de que tu servidor esté construido, eres responsable de establecer las variables de entorno cuando ejecutes el servidor.
Tus archivos .env
no se leerán en este punto. Cómo haces esto es diferente para cada entorno.
Esta decisión de diseño se tomó para asegurar la compatibilidad a través de varios entornos de despliegue, algunos de los cuales pueden no tener un sistema de archivos tradicional disponible, como plataformas sin servidor o redes de borde como Cloudflare Workers.
Dado que los archivos .env
no se usan en producción, debes establecer explícitamente las variables de entorno utilizando las herramientas y métodos proporcionados por tu entorno de alojamiento. Aquí hay algunos enfoques comunes:
-
Puedes pasar las variables de entorno como argumentos usando el terminal:
$ DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
-
Puedes establecer variables de entorno en archivos de configuración de shell como
.bashrc
o.profile
. -
Muchos proveedores de servicios en la nube, como Vercel, Netlify y AWS, proporcionan interfaces para establecer variables de entorno a través de sus paneles, herramientas CLI o archivos de configuración.
Vista Previa de Producción
Para propósitos de vista previa de producción local, recomendamos usar nuxt preview
ya que al usar este comando, el archivo .env
se cargará en process.env
para mayor comodidad. Ten en cuenta que este comando requiere que las dependencias estén instaladas en el directorio del paquete.
O podrías pasar las variables de entorno como argumentos usando el terminal. Por ejemplo, en Linux o macOS:
DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
Ten en cuenta que para un sitio puramente estático, no es posible establecer la configuración de tiempo de ejecución después de que tu proyecto ha sido prerenderizado.
Ver también guide > going-further > runtime-configSi deseas usar variables de entorno establecidas en tiempo de compilación pero no te importa actualizarlas más adelante (o solo necesitas actualizarlas de manera reactiva dentro de tu aplicación), entonces appConfig
puede ser una mejor opción. Puedes definir appConfig
tanto dentro de tu nuxt.config
(usando variables de entorno) como también dentro de un archivo ~/app.config.ts
en tu proyecto.
※Esta página es una traducción no oficial de la documentación oficial de Nuxt.js.
La página correspondiente en la documentación oficial está aquí:
https://nuxt.com/docs/3.x/guide/directory-structure/env