gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:14:17 30 4
gpt4 key购买 nike

以下是我的 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 字符串不是一个好主意,所以我想就更好的方法来存储 .env 值并在您的 js 代码中使用它提出我的建议。
1. 使用普通字符串值或分隔符分隔值存储 env
例如:
ARRAY=VAL1,VAL2,VAL3

VAR1=VALl1
VAR2=VALl2
VAR3=VALl3
2.制作一个js文件来处理env变量
我将称之为 env.js ,在这个文件中,我将导出包含所有 env 变量的对象
module.exports = {
array: process.env.ARRAY.split(","),
object: {
var1: process.env.VAR1,
var2: process.env.VAR2,
var3: process.env.VAR3,
}
}
在其他文件上,您只需导入 env.js 并调用 env 值
const env = require("path/to/env.js");

console.log(env.array); // [ 'VAL1', 'VAL2', 'VAL3' ]
console.log(env.object.var1); // "VAL1"
如果您的项目经常调用 process.env ,则此解决方案可能会使您的代码更简洁一些,因为您不需要每次想要访问 env 变量时都调用 process.

关于dotenv - 如何在 .env 文件中定义数组/对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63846589/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com