如何避免从 process.env 文件中获取错误数据?

Posted

技术标签:

【中文标题】如何避免从 process.env 文件中获取错误数据?【英文标题】:How to avoid getting wrong data from process.env file? 【发布时间】:2022-01-23 02:13:16 【问题描述】:

我需要从 .env.local 文件中获取一些数据,但是我没有从当前文件夹中获取文件的数据,而是从我制作的另一个项目中获取数据。 如何让节点识别要读取的正确文件? 示例:

文件夹结构:

folder:
   file.js
   .env.local

js 文件:

   const envData =
      test1: process.env.TEST_1,
      test2: process.env.TEST_2,
      test3: process.env.TEST_3,
    )

.env.local 文件:

TEST_1=test1-data
TEST_2=test2-data
TEST_3=test3-data

问题是:我没有从我文件夹中的 env 文件中获取数据,而是从另一个文件中获取数据,我该如何解决这个问题?

【问题讨论】:

为什么要使用其他项目的环境变量文件? 你是如何加载 env 文件的? @mars 这不是我想使用它,而是当我编写 process.env.NAME_OF_THE_VARIABLE 时,从另一个包含 .env 文件而不是当前文件夹的文件夹中获取它的程序,我不这样做不知道为什么 @Mureinik 我没有加载它,我只是写 process.env.NAME_OF_THE_VARIABLE 正在加载的环境变量在您的文件结构中的什么位置?它们是在您的 Bash 配置文件中设置的环境变量还是什么? 【参考方案1】:

我建议使用dotenv 来管理您的环境变量——它将环境变量从.env 文件加载到process.env。因此,您将在项目文件夹中拥有 .env 文件,然后在需要加载环境变量的任何文件夹中,您将需要并配置文件顶部的包,如下所示: require('dotenv').config();

这将允许您调用您的环境变量,例如process.env.XXX

【讨论】:

以上是关于如何避免从 process.env 文件中获取错误数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在编译时从缓存参数中延迟“新函数”,等到它被使用

vue如何按照环境打包项目?如何在vue文件中使用process.env?

vue中如何添加自定义环境变量 ,process.env取值报错undefined

如何在赛普拉斯运行的浏览器中使用 process.env 变量

Express 设置process.env.NODE_ENV变量

Node.js里面怎么设置process.env.PORT的值