📜  dotenv 未在节点中加载 process.env - Javascript (1)

📅  最后修改于: 2023-12-03 15:14:47.544000             🧑  作者: Mango

Dotenv 未在 Node.js 中加载 process.env

Dotenv 是一个 Node.js 应用程序环境变量管理工具。它可以帮助您轻松地从 .env 文件或操作系统环境中读取环境变量,并将它们注入到应用程序中。

但有时候,您会遇到一个问题,即 process.env 中的某些环境变量被忽略了(即未定义)。这种情况通常发生在以下情况下:

  • 当您在应用程序中使用 dotenv 模块加载 .env 文件之前,尝试使用未定义的环境变量。
  • 当您正在使用内存缓存时,由于 Node.js 进程已经启动,请记住重启以获取环境变量更改。
  • 如果您的应用程序使用多个 Node.js 实例运行,则每个实例都需要加载 .env 文件以获取环境变量。
  • 如果您使用了不同的 .env 文件(例如,development.envproduction.env 等),则每个 .env 文件都必须在应用程序中加载。

为了解决这些问题,请尝试以下步骤:

  1. 在应用程序的主文件中确保您在使用 process.env 之前已经加载了 .env 文件。
require('dotenv').config();
  1. 在内存缓存中更改环境变量时,请记住重启应用程序以使更改生效。

  2. 如果您的应用程序使用多个 Node.js 实例运行,请确保每个实例都加载了 .env 文件。

  3. 如果您使用了不同的 .env 文件,请确保每个文件都在应用程序中加载。您可以使用以下示例代码来加载不同的 .env 文件:

const env = process.env.NODE_ENV || 'development';
require('dotenv').config({ path: `.env.${env}` });

请记住,当您更改 .env 文件中的环境变量时,您需要重启应用程序以使更改生效。

希望这篇文章能够帮助您解决 Dotenv 未在 Node.js 中加载 process.env 的问题。