如何在 .env 文件中定义数组/对象?

2024-01-06

以下是我的 Javascript 对象:

window.options = {
    VAR1: VAL1,
    VAR2: VAL2,
    VA31: VAL3,
};

我希望它(对象或数组)定义在.env文件。我怎样才能做到这一点?


值在.env值只能是字符串。

简单的解决方法是将 env 值存储为逗号分隔值,例如:

SOME_VAR=VAL1,VAL2,VAL3

并将其拆分到您的 js 文件中:

const someVar = process.env.SOME_VAR.split(",");

console.log(someVar); // [ 'VAL1', 'VAL2', 'VAL3' ]

或者使用您想要的任何分隔符。


如果你想存储对象,(不干净的)解决方法是将 JSON 字符串存储为 env 值,例如

OBJECT_VAL={ "VAR1": "VAL1", "VAR2": "VAL2", "VA31": "VAL3" }

在你的 js 代码中,你可以解析 JSON:

const objectVal= JSON.parse(process.env.OBJECT_VAL);
console.log(objectVal); // { VAR1: 'VAL1', VAR2: 'VAL2', VA31: 'VAL3' }

我个人认为在 .env 中存储 JSON 字符串不是一个好主意,所以我想就更好的存储方式提出我的建议.envvalue 并在你的 js 代码中使用它。

1. 使用普通字符串值或分隔符分隔值存储 env

例如:

ARRAY=VAL1,VAL2,VAL3

VAR1=VALl1
VAR2=VALl2
VAR3=VALl3

2.创建一个js文件来处理env变量

我会称之为env.js,在这个文件上我将导出包含所有环境变量的对象

module.exports = {
    array: process.env.ARRAY.split(","),
    object: {
       var1: process.env.VAR1,
       var2: process.env.VAR2,
       var3: process.env.VAR3,
    }
}

在其他文件上,您只需导入即可env.js并调用环境值

const env = require("path/to/env.js");

console.log(env.array); // [ 'VAL1', 'VAL2', 'VAL3' ]
console.log(env.object.var1); // "VAL1"

如果你的项目经常调用process.env,这个解决方案可能会让你的代码更干净一些,因为你不需要调用process.每次你想访问你的环境变量时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 .env 文件中定义数组/对象? 的相关文章

  • 我如何在hadoop中处理大量小文件?

    我是 hadoop 新手 正在处理 wordcount 示例中的大量小文件 它需要大量的地图任务并导致我的执行速度变慢 如何减少地图任务的数量 如果解决我的问题的最佳解决方案是将小文件捕获到较大的文件 我该如何捕获它们 如果你正在使用类似的

随机推荐

  • 有效地生成链表的所有可能排列?

    有许多算法可用于生成给定值集的所有可能排列 通常 这些值表示为具有 O 1 随机访问权限的数组 然而 假设要排列的元素表示为双向链表 在这种情况下 您无法在 O 1 时间内随机访问列表中的元素 因此许多排列算法将经历不必要的减速 是否有一种
  • 如何找到两个序列之间的重叠并返回它

    我需要找到两个序列之间的重叠部分 重叠位于第一个序列的左端和第二个序列的右端 我希望该函数找到重叠部分并返回它 我的序列是 s1 CGATTCCAGGCTCCCCACGGGGTACCCATAACTTGACAGTAGATCTC s2 GGCT
  • putpkt:写入失败,管道损坏

    我正在使用 AdHoc 部署在 iPad 上部署我的应用程序 但收到此错误 我已经检查了 SO 中的几个问题 它们的说法相同 但解决方案始终是重新启动 XCode 重新启动 iPad 重新启动 Mac 我已经完成了所有三个操作 但此错误并未
  • 带枕头的图像上出现羽状边缘

    我试图弄清楚如何使用 Pillow 和 Python 来羽化图像的边缘 我需要像这只可爱的猫这样的东西 忽略可见的边缘 I tried im filter ImageFilter BLUR 但这不是我要找的 看看这个例子 from PIL
  • 使用 Hibernate / Spring / JUnit 设置和拆除复杂的数据库状态

    我有一个正在进行单元测试的课程 需要相当广泛的数据库设置才能运行各个测试方法 此设置需要很长时间 由于希望与当前问题无关的原因 我需要以编程方式而不是从 SQL 转储填充数据库 我遇到的问题是拆卸 如何轻松回滚数据库设置阶段所做的所有更改
  • 我可以用python生成真实的随机数吗?

    我正在学习Python的随机模块 我知道它会生成伪随机数 其核心思想是使用高频时钟作为种子 然后使用函数产生 看起来像随机数 据我所知 在现实世界中产生真实的随机数是不可能的 但我知道Unix随机数生成器引入了一些其他因素 例如鼠标移动轨迹
  • C# - ADO.NET 的一些高性能最佳实践/技巧是什么 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我决定不使用 orm 并直接在我的项目中使用 ADO NET 我知道我知道它会花费更长的时间来编程 但我只是希望页面即使在高峰时间也能高速加载
  • 声明 xsl 变量并为其赋值

    我正在开发一个使用 apache cocoon 将 XML 转换为 PDF 的应用程序 并且我正在重新设计处理输入 XML 的 XSL 目前在 XSL 中 我们有这样的代码
  • 使设置随机种子独立的函数

    有时我想编写一个随机函数 它始终为特定输入返回相同的输出 我总是通过在函数顶部设置随机种子然后继续来实现这一点 考虑以这种方式定义的两个函数 sample 12 lt function size set seed 144 sample 1
  • 更改运行 Windows 窗体程序的用户

    我用 C 编写了一个简单的 Windows 窗体程序 我希望能够输入 Windows 用户名和密码 当我单击登录按钮来运行代码时 我会以我输入的用户身份运行代码 您可以使用 WindowsIdentity Impersonate 方法来 实
  • iOS购买收据验证失败怎么办?

    iOS购买收据服务器验证通常是这样的 用户在 iPhone 上购买 您的应用程序将购买收据发送到服务器 服务器收到收据并发送给Apple进行验证 服务器从Apple获取验证结果 服务器将验证结果发送给应用程序 但如果只有第 1 步成功怎么办
  • 带填充的 Python 整数到十六进制字符串

    考虑一个整数 2 我想将其转换为十六进制字符串 0x02 通过使用python的内置函数hex 我可以获得 0x2 这不适合我的代码 谁能告诉我如何以方便的方式获得我想要的东西 谢谢 integer 2 hex string 0x 02x
  • 将 CoreData 添加到现有项目

    我正在尝试将 CoreData 添加到现有项目中并且 有奇怪的错误 我收到错误 由于未捕获的异常而终止应用程序 NSInvalidArgumentException 原因 无法创建 NSPersistentStoreCoordinator
  • 当 `git add` 操作时,“不会添加文件别名‘samefile’(‘SameFile’已存在于索引中)”

    我下载了linux的内核源代码 并且想要git add商场 When I git add git 开始添加它们 但很快它返回一个错误 fatal Will not add file alias include linux netfilter
  • 应用掩码以格式化 SQL Server 查询/视图中的字符串

    有没有一种巧妙的方法可以将掩码应用于 SQL Server 查询中的字符串 我有两张表 一张的电话号码存储为 varchar 没有文字0155567890和电话类型 其中具有该电话号码类型的掩码 返回字符串 对于合并文档 以便查询返回完全格
  • 您可以对多个泛型类型参数强制执行相同的约束吗?

    我知道你可以 你可以这样做 void M
  • 无法在 Linux 上安装 pyodbc

    我正在运行 Linux 2 6 18 164 15 1 el5 centos plus 并尝试安装 pyodbc 我正在执行 pip install pyodbc 并得到一个很长的错误列表 其结尾为 错误 命令 gcc 失败 退出状态为 1
  • 如何减少 SORT 操作中的 CPU 占用

    我正在使用 DFSORT 将磁带数据集复制到临时文件 并处理大约 80000000 条记录 仅复制数据集就需要 3 个小时 有没有其他方法可以减少CPU时间 建议将会非常有帮助 谢谢 STEP40 EXEC SORTD SORTIN DD
  • AWS - IAM 角色和信任关系

    我是 AWS 和 IAM 的新手 正在尝试了解角色和信任关系 我完全理解为什么使用角色 如何创建它们以及它们的用例 我不明白的是信任关系步骤 在我见过的几乎所有案例中 都是一对一的关系 EC2 需要与 EC2 建立信任 为什么会有额外的步骤
  • 如何在 .env 文件中定义数组/对象?

    以下是我的 Javascript 对象 window options VAR1 VAL1 VAR2 VAL2 VA31 VAL3 我希望它 对象或数组 定义在 env文件 我怎样才能做到这一点 值在 env值只能是字符串 简单的解决方法是将