无法在 nestjs nodejs 中使用 dotenv 加载 .env 文件

not able to load .env file using dotenv in nestjs nodejs

我正在为我的 nodejs 项目使用 nestjs,我想从项目外部加载 .env 文件。

这是目录结构

.env
services
  /nodejs
     /my-apis
       /src  
         /main.ts

在我的 main.ts

import * as dotenv from "dotenv";

dotenv.config({ path: `../../../../.env` });
console.log("process.env.PORT", process.env.PORT);
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.setGlobalPrefix("/api");
  await app.listen(process.env.PORT);
}

但它没有从 .env 获取值,可能是什么问题?

require('dotenv').config({path:__dirname+'/./../../.env'})

这可能会有所帮助。根据您的需要进行定制。

我正在 main.ts 中加载 env 文件。我的 app.module.ts 正在使用一些环境变量来初始化 Mongo。

所以在我的 app.module.ts 环境变量中未定义。所以我在 app.module.ts 中加载了 env 而不是 main.ts

我还使用 __dir_name 作为路径

import * as dotenv from "dotenv";

dotenv.config({ path: `${__dirname}/../../../../.env` });

这有效。