馃О Variables de entorno (.env.local)
Aprende c贸mo usar variables de entorno en Next.js para proteger informaci贸n sensible y configurar distintos entornos (desarrollo, pruebas y producci贸n).
馃敀 ¿Qu茅 son las variables de entorno?
Las variables de entorno son valores externos al c贸digo fuente que se utilizan para configurar tu aplicaci贸n, sin necesidad de exponer informaci贸n sensible como contrase帽as, claves de API o URLs privadas.
.env a un repositorio p煤blico.
馃搧 Tipos de archivos de entorno en Next.js
Next.js reconoce autom谩ticamente estos archivos si existen en la ra铆z del proyecto:
.env→ Variables comunes para todos los entornos..env.development→ Solo para entorno de desarrollo..env.production→ Solo para producci贸n..env.local→ Configuraci贸n local (no se debe subir a Git).
El archivo m谩s usado es .env.local, ideal para tu entorno local de desarrollo.
馃З Ejemplo b谩sico de uso
Supongamos que quieres guardar una clave API para conectarte a un servicio externo.
馃搫 .env.local
NEXT_PUBLIC_API_URL=https://api.misitio.com
SECRET_API_KEY=12345abcd6789
En tu c贸digo, puedes acceder a estas variables usando process.env.
Pero hay una diferencia importante:
- Las variables que empiecen con
NEXT_PUBLIC_pueden usarse en el frontend. - Las dem谩s (
SECRET_, por ejemplo) solo se usan en el servidor.
馃捇 pages/index.js
export default function Home() {
console.log('API p煤blica:', process.env.NEXT_PUBLIC_API_URL);
// ❌ Esto no funcionar谩 en el cliente
console.log('Clave secreta:', process.env.SECRET_API_KEY);
return (
<div>
<h1>Conectado a la API: {process.env.NEXT_PUBLIC_API_URL}</h1>
</div>
);
}
馃殌 Variables de entorno en producci贸n (Vercel)
Si desplegas tu aplicaci贸n en Vercel, puedes configurar las variables directamente desde el panel web:
- Ve a tu proyecto en Vercel Dashboard.
- Haz clic en Settings → Environment Variables.
- Agrega tus claves (por ejemplo
NEXT_PUBLIC_API_URL). - Selecciona el entorno: Development, Preview o Production.
Configuraci贸n de variables de entorno en Vercel
馃 Ejemplo avanzado: conexi贸n con API usando variable protegida
En este ejemplo, la conexi贸n a la API se hace en el servidor (no en el cliente) para mantener la seguridad.
馃搫 pages/api/data.js
export default async function handler(req, res) {
const apiKey = process.env.SECRET_API_KEY;
const response = await fetch('https://api.misitio.com/data', {
headers: { Authorization: `Bearer ${apiKey}` }
});
const data = await response.json();
res.status(200).json(data);
}
As铆 mantienes tus claves ocultas y seguras dentro del entorno del servidor 馃洝️.
npm run dev.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias