【问题标题】:not able to load .env file using dotenv in nestjs nodejs无法在nestjs nodejs中使用dotenv加载.env文件
【发布时间】:2021-11-08 17:49:20
【问题描述】:

我在我的 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 获取值,可能是什么问题?

【问题讨论】:

标签: node.js environment-variables nestjs dotenv


【解决方案1】:

我正在将env 文件加载到main.ts 中。我的 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` });

这行得通。

【讨论】:

    【解决方案2】:

    https://stackoverflow.com/a/42335383/10562569

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

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

    【讨论】:

      猜你喜欢
      • 2018-06-05
      • 2020-09-05
      • 2015-12-11
      • 1970-01-01
      • 2020-11-29
      • 2021-08-12
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多