NestJS-使用DotEnv

NestJS-使用DotEnv,nestjs,typeorm,Nestjs,Typeorm,我正在使用NestJS和TypeOrm(MySQL)。 项目本身由Terraform提供,由Jenkins运行并部署在K8上 我将对DB连接使用process.env.******,并且 当涉及到部署(测试、阶段和产品)时,我真的不在乎。Jenkins提供凭证(由Terraform提供) 但是,我希望有一个本地模式,在本地启动服务对其他开发人员来说是友好的 在我以前的项目中,我在根目录中有额外的文件。该文件是唯一的包装器,它加载dotenv,然后加载主应用程序文件 大概是这样的: require

我正在使用NestJS和TypeOrm(MySQL)。 项目本身由Terraform提供,由Jenkins运行并部署在K8上

我将对DB连接使用process.env.******,并且 当涉及到部署(测试、阶段和产品)时,我真的不在乎。Jenkins提供凭证(由Terraform提供)

但是,我希望有一个本地模式,在本地启动服务对其他开发人员来说是友好的

在我以前的项目中,我在根目录中有额外的文件。该文件是唯一的包装器,它加载dotenv,然后加载主应用程序文件

大概是这样的:

require('dotenv').config();

const lambdaApp = require('./index');
lambdaApp.handler()
这是简单易用的。我只有.env.example文件,如果需要,请自行设置

我想我应该对NestJS也这么做。不幸的是,我被卡住了

如果使用local.index.js启动dotenv,那么如何加载和执行main.ts文件。我可以调用bootstrap()函数,但它不起作用

不起作用的简单方法:

require('dotenv').config();

const mainApp = require('./main.ts');

mainApp.bootstrap();
main.ts需要从ts转换为js


我可能会在代码中找到一些方法,但它看起来真的错了。必须有一个更简单的方法来实现这一点,不幸的是,我没有看到。

这就是不阅读文档和重新发明轮子的情况。为我辩护,我可以说有很多东西要读,我没有时间。这是纯粹的真理,但时间和阅读是可以管理的。我应该先检查一下官方文件,然后在那里找到答案

不管怎么说,这是对的。我不会发布任何代码
样本,因为这样做毫无意义。他们还使用dotenv库和env文件。

-如果有用,请检查此项。谢谢yash。这很有帮助。但我已经找到了一种按书办事的方法。我的场景已经包含在官方文档中。它已经在引擎盖下使用了dotenv。简单。我会发布一个答案