>在Node.js中開發應用程序時,安全管理敏感的配置值是至關重要的。這些值(例如API鍵,數據庫憑據和服務器端口)通常存儲在環境變量中。 DOTENV軟件包允許我們從.env文件加載這些變量,使它們脫離我們的源代碼,同時仍可以在我們的應用程序中訪問。
>>在本文中,我們將探討如何使用dotenv有效地管理環境變量並創建一個實用程序函數以確保始終可用。
步驟2:創建.ENV文件
npm install dotenv
>
注意:
PORT=5000 FRONTEND_URL=http://localhost:3000 NODE_ENV=development DB_CONNECT=mongodb://localhost:27017/mydatabase ACCESS_TOKEN=your-secret-access-token
加載環境變量。
我們可以使用dotenv將環境變量加載到我們的node.js應用程序中。以下代碼演示瞭如何執行此操作:
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" });
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, };
此功能可確保如果丟失了環境變量,則應用程序會丟棄錯誤並終止而不是默默失敗。
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; } }
完整的代碼示例
以上是使用dotenv管理Node.js中的環境變量的詳細內容。更多資訊請關注PHP中文網其他相關文章!