JavaScript: API açarını .env faylında saxla
Açarı kodun içinə yazma. .env, .gitignore və Vercel dəyişəni.
Bütün dərslər · JavaScript dərsləri: sıfırdan öyrən
Açar kodda olmasın
Açarı JavaScript-in içinə yazmaq yalnız öz kompüterində məşq üçündür. GitHub-a düşəndə botlar onu saniyələrlə tapır. Başqası sənin açarınla sorğu göndərir, limitin və balansın bitir. Saytın görünən hissəsində olsa, F12 ilə hər kəs görür. Sorğu arxa planda, serverdə getməlidir.
.env faylı
Faylın adı .env-dir, ad.env deyil. Layihənin əsas qovluğunda durur. Ad böyük hərflə yazılır, sözlər _ ilə ayrılır. Dırnaq, nöqtəli vergül və const yazılmır. Kodda process.env.GEMINI_API_KEY ilə oxunur. Təmiz Node.js-də əvvəlcə npm install dotenv, sonra import "dotenv/config".
GEMINI_API_KEY=acar const apiKey = process.env.GEMINI_API_KEY;
GitHub və Vercel
.gitignore içinə .env və .env.local yaz. Onda kod gedir, açar cihazda qalır. Vercel-də Settings, Environment Variables: ad GEMINI_API_KEY, dəyər açarın özüdür. Faylı dəyişəndən sonra terminalı dayandırıb yenidən aç, yoxsa nəticə undefined olur. Next.js-də açarın əvvəlinə NEXT_PUBLIC_ yazma: o, brauzerə çıxır.
node_modules .env .env.local
Suallar
.env içinə const və dırnaq yazmaq olarmı? Xeyr. Yalnız AD=DEYER. Bərabərliyin yanında boşluq da qoyma.
process.env niyə undefined verir? Fayl yeni dəyişib, server köhnəni saxlayır. Terminalı bağla və yenidən işə sal.
NEXT_PUBLIC_ niyə təhlükəlidir? Bu söz dəyişəni brauzerə göndərir. Gizli açarda işlətmə.
Açar harada durmalıdır? Serverdə, process.env içində. Brauzerdəki kodda yox.