Apabila membangunkan aplikasi dalam node.js, menguruskan nilai konfigurasi sensitif dengan selamat adalah penting. Nilai -nilai ini seperti kekunci API, kelayakan pangkalan data, dan port pelayan -sering disimpan dalam pembolehubah persekitaran. Pakej Dotenv membolehkan kami memuatkan pembolehubah ini dari fail .env, menyimpannya dari kod sumber kami sementara masih boleh diakses dalam permohonan kami.
Dalam artikel ini, kami akan meneroka bagaimana untuk menguruskan pembolehubah persekitaran dengan cekap menggunakan dotenv dan mewujudkan fungsi utiliti untuk memastikan pembolehubah yang diperlukan sentiasa tersedia.
Menggunakan pembolehubah persekitaran menyediakan beberapa faedah:
Sebelum kita boleh menggunakan dotenv, kita perlu memasangnya dalam projek kita:
npm install dotenv
Dalam akar projek anda, buat fail .env dan tentukan pembolehubah persekitaran anda:
PORT=5000 FRONTEND_URL=http://localhost:3000 NODE_ENV=development DB_CONNECT=mongodb://localhost:27017/mydatabase ACCESS_TOKEN=your-secret-access-token
NOTA: Jangan lakukan fail .env anda ke repositori! Sentiasa tambahkan .env ke fail .gitignore anda.
kita boleh menggunakan dotenv untuk memuatkan pembolehubah persekitaran ke dalam aplikasi Node.js kami. Kod berikut menunjukkan cara melakukan ini:
import { config } from "dotenv"; config({ path: "../../.env" }); // Define all required environment variables const envVars = { port: process.env.PORT || 5000, frontendUrl: process.env.FRONTEND_URL, nodeEnv: process.env.NODE_ENV as "development" | "production", dbConnect: process.env.DB_CONNECT, accessToken: process.env.ACCESS_TOKEN, }; /** * This function returns an environment variable and throws an error if unavailable. * @param varName - The key of the environment variable. * @returns The value of the specified environment variable. */ export default function getEnv(varName: keyof typeof envVars): string { if (typeof envVars[varName] === "undefined") { console.error(`'${varName}' is not available`); process.exit(1); } else { return envVars[varName] as string; } }
import { config } from "dotenv"; config({ path: "../../.env" });
ini mengimport dotenv dan memuatkan fail .env ke dalam proses.env.
const envVars = { port: process.env.PORT || 5000, frontendUrl: process.env.FRONTEND_URL, nodeEnv: process.env.NODE_ENV as "development" | "production", dbConnect: process.env.DB_CONNECT, accessToken: process.env.ACCESS_TOKEN, };
kami mentakrifkan satu set pembolehubah persekitaran yang diharapkan dan memberikan nilai lalai untuk port sekiranya ia hilang.
export default function getEnv(varName: keyof typeof envVars): string { if (typeof envVars[varName] === "undefined") { console.error(`'${varName}' is not available`); process.exit(1); } else { return envVars[varName] as string; } }
Fungsi ini memastikan bahawa jika pemboleh ubah persekitaran hilang, aplikasi akan membuang ralat dan menamatkan bukannya gagal dengan senyap.
Sekarang, apabila kita memerlukan pemboleh ubah persekitaran dalam projek kami, kami dapat mengambilnya dengan selamat seperti ini:
import getEnv from "./getEnv"; const databaseURL = getEnv("dbConnect"); console.log("Database URL:", databaseURL);
Jika pemboleh ubah hilang, aplikasi akan keluar dan log ralat, memastikan kami tidak pernah menjalankan aplikasi dengan konfigurasi yang hilang.
Menguruskan pembolehubah persekitaran adalah bahagian penting dalam pembangunan aplikasi, dan pakej dotenv menjadikannya mudah untuk memuatkannya dengan selamat. Dengan mencipta pendekatan berstruktur menggunakan fungsi getEnv, kami dapat memastikan bahawa semua pembolehubah yang diperlukan dimuatkan dengan betul, mencegah kesilapan runtime yang disebabkan oleh konfigurasi yang hilang.
dengan mengikuti amalan terbaik, kita dapat meningkatkan keselamatan, kebolehkawalan, dan fleksibiliti aplikasi Node.js kami.
npm install dotenv
Atas ialah kandungan terperinci Menguruskan Pembolehubah Persekitaran dalam Node.js dengan Dotenv. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!