NestJS - 使用 DotEnv
Posted
技术标签:
【中文标题】NestJS - 使用 DotEnv【英文标题】:NestJS - Using DotEnv 【发布时间】:2020-11-29 23:37:48 【问题描述】:我正在与 TypeOrm (mysql) 一起开发 NestJS。 项目本身由 Terraform 提供,由 Jenkins 运行并部署在 K8 上。
我将使用 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。
我可能会在代码中找到一些方法来做到这一点,但它看起来确实是错误的。必须有一种更简单的方法来实现这一点,不幸的是我没有看到。
【问题讨论】:
***.com/questions/63285055/… - 如果有帮助,请检查一下 谢谢你。这很有帮助。但我已经找到了一种通过书本完成的方法。我的场景已经包含在官方文档中。它已经在后台使用了 dotenv。简单的。我会发布答案 【参考方案1】:这就是不阅读文档并重新发明***的情况。在我的辩护中,我可以说有很多东西要读,我没有时间。这是纯粹的事实,但时间和阅读是可以管理的。我应该先查看官方文档,我会在那里找到答案。
不管怎样,对here已经解释过了。我不会发布任何代码 样本,因为这样做毫无意义。他们还使用 dotenv 库和 env 文件。
【讨论】:
以上是关于NestJS - 使用 DotEnv的主要内容,如果未能解决你的问题,请参考以下文章
使用 NestJS 和 TypeOrm,在我运行 NestJS 应用程序后不会自动创建表
从使用 nestjs API 应用程序调试 npm 库(使用 noidejs、nestjs 和 typescript 构建)