Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

178
Views
¿Cuál es la diferencia entre exponer las variables de entorno en nextjs a través de next.config.js frente al prefijo NEXT_PUBLIC?

De acuerdo con la documentación de nextjs , si quiero exponer mis variables de entorno al navegador , simplemente puedo prefijarlas con NEXT_PUBLIC en mi archivo .env.local , así:

 NEXT_PUBLIC_VAR=7

Sin embargo, parece que también puedo exponer mis variables de entorno al navegador usando next.config.js , así:

 module.exports = { env: { PUBLIC_VAR: process.env.PUBLIC_VAR, }, }

Y esto se agregará al paquete de javascript

¿Cuál es la diferencia entre estas dos estrategias?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

NEXT_PUBLIC es una nueva característica añadida. Antes, para configurar las variables de entorno, teníamos que configurar tanto para el servidor como para el cliente.

Las variables de entorno que se colocan en el archivo .env estarían disponibles solo en el lado del servidor, si desea que sus variables env estén disponibles en el lado del cliente, debe usar next.config.js . Seguimos el principio de separación de preocupaciones aquí.

Con NEXT_PUBLIC , las variables env estarán disponibles tanto del lado del cliente como del lado del servidor. Las variables env que se establecen con NEXT_PUBLIC se expondrán al navegador.

Entonces, en resumen, agregar el prefijo NEXT_PUBLIC a sus variables de entorno tendrá el mismo efecto de exponer al navegador sus variables de entorno que exponerlas a través next.config.js .

No hay mucha diferencia.

prueba esto:

colóquelo en el archivo .env o env.development. NO a next.config.js

 MY_VAR=10

entonces ejecuta esto:

 console.log("MY var",process.env.MY_VAR);

tanto dentro del componente del cliente como de la función getServerSideProps . si revisa la consola del navegador, obtendrá undefined , pero en la terminal verá

 MY var 10
about 4 years ago · Juan Pablo Isaza Report

0

La diferencia entre los dos es que uno de ellos usa un archivo .env mientras que el otro usa el archivo next.config. Desde Next.js 9.4, ahora se admite la carga de variables de entorno con archivos .env.

Sin embargo, para aclarar una cosa en su pregunta, todas las variables de entorno dentro del archivo .env no tienen que tener el prefijo NEXT_PUBLIC , solo las que desea exponer al navegador, cualquiera sin ese prefijo solo será accesible en el servidor.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!