【发布时间】:2019-12-17 15:13:14
【问题描述】:
NodeJS 依赖中的环境变量
我有一个依赖于我的 NodeJS 应用程序
my-base-module: git+https://myuser:mytoken@gitlab.com/organization/my-base-module.git#v1.0.0
我也在使用依赖dotenv,在开发中我使用文件.env,在其他环境中我通过docker环境变量传递变量
我遇到的问题,我不知道为什么以及如何解决它是在my-base-module 我不共享相同的环境变量(我需要它)。这就像变量失去了参考
require('dotenv').config(); const env = process.env.NODE_ENV;
例如,在那段代码中,my-base-module 中的 NODE_ENV 变量是未定义的。但是在容器中定义并具有正确的值
更新 1
我在my-application 和my-base-module 中都需要dotenv。如果我进入容器并执行$ echo $NODE_ENV。我得到production。
如果我的应用程序process.env.NODE_ENV 也持有生产。但在依赖process.env.NODE_ENV 是undefined
我会尝试做一些 github 存储库来重现它
【问题讨论】:
-
您在
my-base-module或您的应用程序代码中是否需要dotenv?在您的切入点中,process.env.NODE_ENV的价值是什么?如果您发布一些您的应用程序代码和您的包代码将会有所帮助。
标签: node.js docker environment-variables