JavaScript: API anahtarını .env dosyasında tut
Anahtarı kodun içine yazma. .env, .gitignore ve Vercel değişkeni.
Tüm dersler · JavaScript dersleri: sıfırdan öğren
Anahtar kodda olmasın
Anahtarı JavaScript'in içine yazmak yalnız kendi bilgisayarında alıştırma içindir. GitHub'a düşünce botlar onu saniyelerle bulur. Başkası senin anahtarınla sorgu gönderir, limitin ve bakiyen biter. Sitenin görünen yerindeyse F12 ile herkes görür. Sorgu arka planda, sunucuda gitmelidir.
.env dosyası
Dosyanın adı .env'dir, ad.env değil. Projenin ana klasöründe durur. Ad büyük harfle yazılır, sözcükler _ ile ayrılır. Tırnak, noktalı virgül ve const yazılmaz. Kodda process.env.GEMINI_API_KEY ile okunur. Düz Node.js'te önce npm install dotenv, sonra import "dotenv/config".
GEMINI_API_KEY=acar const apiKey = process.env.GEMINI_API_KEY;
GitHub ve Vercel
.gitignore içine .env ve .env.local yaz. O zaman kod gider, anahtar cihazda kalır. Vercel'de Settings, Environment Variables: ad GEMINI_API_KEY, değer anahtarın kendisidir. Dosyayı değiştirdikten sonra terminali durdurup yeniden aç, yoksa sonuç undefined olur. Next.js'te anahtarın başına NEXT_PUBLIC_ yazma: o, tarayıcıya çıkar.
node_modules .env .env.local
Sorular
.env içine const ve tırnak yazılır mı? Hayır. Yalnız AD=DEGER. Eşittirin yanında boşluk da koyma.
process.env neden undefined verir? Dosya yeni değişti, sunucu eskisini tutuyor. Terminali kapat ve yeniden başlat.
NEXT_PUBLIC_ neden tehlikelidir? Bu sözcük değişkeni tarayıcıya gönderir. Gizli anahtarda kullanma.
Anahtar nerede durmalı? Sunucuda, process.env içinde. Tarayıcıdaki kodda değil.