nuxt logo

Traducción de Documentación (No Oficial)

.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.

.env
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.

Terminal
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:

Terminal
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-config

Si 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.

Ver también guide > directory-structure > app-config