我正在和NestJS ( TypeOrm,MySQL)一起工作。项目本身由Terraform提供,由Jenkins运行,并部署在K8上。
对于DB连接,我将使用process.env.*,当涉及到部署(测试、阶段和prod)时,我真的不在乎。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。
我可能会在代码中找到一些方法来实现这一点,但这看起来确实是错误的。必须有一个更简单的方法来实现这一点,不幸的是,我没有看到这一点。
发布于 2020-08-10 11:27:36
这就是不阅读文档和重新发明轮子的情况。在我的辩护,我可以说有太多的东西可读,我没有时间。这是纯粹的真理,但时间和阅读是可以管理的。我应该先检查一下正式文件,然后在里面找到答案。
不管怎样,对的,这里解释了。我不会发布任何代码样本,因为这样做是没有意义的。他们还使用dotenv库和env文件。
https://stackoverflow.com/questions/63338953
复制相似问题