>在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中文网其他相关文章!