Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

2.6K
Vistas
Las variables de entorno next.js no están definidas (Next.js 10.0.5)

Estoy codificando un sitio web con Next.js e intenté agregar Google Tag Manager.
Seguí el tutorial en el ejemplo de Next.js Github pero por alguna razón no puedo acceder a mis variables de entorno.
Dice que mi variable no está definida.
Creé un archivo .env.local en la carpeta de mi proyecto (al mismo nivel que los componentes, node_modules, páginas, etc.)
En este archivo, creé una variable como esta (propósito de prueba):

 NEXT_PUBLIC_DB_HOST=localhost

Y en mi página de índice probé este código:

 console.log("test ", process.env.NEXT_PUBLIC_DB_HOST);

Pero en mi consola obtengo una "prueba indefinida".
Traté de poner mi variable en un archivo .env en su lugar, sin éxito.
Que estoy haciendo mal ?

over 4 years ago · Santiago Trujillo
7 Respuestas
Responde la pregunta

0

Reiniciar el servidor funcionó para mí.

  1. Editar y guardar .env.local
  2. Detenga el servidor y reinícielo, npm run dev
  3. Debería obtener una salida en la siguiente línea como esta:
 > klout@0.1.0 dev > next dev Loaded env from [path]/.env.local
over 4 years ago · Santiago Trujillo Denunciar

0

Este entorno solo funciona en el lado del servidor. Para acceder a este envs en el lado del cliente, debe declarar en next.config.js

De esta manera:

 module.exports = { reactStrictMode: true, env: { BASE_URL: process.env.BASE_URL, } }
over 4 years ago · Santiago Trujillo Denunciar

0

Después de pasar innumerables horas en esto, descubrí que hay un pequeño párrafo tanto en la documentación anterior como posterior a nextjs 9.4:

  • (Pre-9.4) https://nextjs.org/docs/api-reference/next.config.js/environment-variables (igual que esta respuesta )

    Next.js reemplazará process.env.customKey con 'my-value' en el momento de la compilación .

  • (^9.4) https://nextjs.org/docs/basic-features/environment-variables

    Para mantener seguros los secretos exclusivos del servidor, Next.js reemplaza process.env.* con los valores correctos en el momento de la compilación .

Las palabras clave son TIEMPO DE CONSTRUCCIÓN . Esto significa que debe haber configurado estas variables al ejecutar la next build y no (solo) al next start para que esté disponible para que el lado del cliente acceda a estas variables.

over 4 years ago · Santiago Trujillo Denunciar

0

  1. Cree .env (todos los entornos) , .env.development (entorno de desarrollo) y .env.production (entorno de producción).

  2. Agregue el prefijo NEXT_PUBLIC a todas sus variables de entorno.

NEXT_PUBLIC_API_URL=http://localhost:3000/

  1. Usar con el prefijo process.env

proceso.env.NEXT_PUBLIC_API_URL

  1. Detenga el servidor y reinícielo:

npm ejecutar dev

  1. Espero que funcione. Esta solución para la última versión de nextJs (más de 9)
over 4 years ago · Santiago Trujillo Denunciar

0

Para aquellos que usan NextJS +9 y buscan variables de entorno en el navegador, deben usar el prefijo NEXT_PUBLIC_ . Ejemplo:

 NEXT_PUBLIC_ANALYTICS_ID=123456789

Consulte la documentación como referencia .

over 4 years ago · Santiago Trujillo Denunciar

0

Este es mi archivo next.config.js.

 /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, env: { BASE_URL: process.env.NEXT_PUBLIC_SITE_URL, }, }; module.exports = nextConfig;

Reinicie el servidor y funcionó bien. usando Nextjs 12.1.0 con mecanografiado

over 4 years ago · Santiago Trujillo Denunciar

0

En mi caso, estoy pegando REACT_APP_API_URL en lugar de NEXT_PUBLIC_API_URL.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda