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

Dotenv 如何在.env文件中定义数组/对象?,dotenv,Dotenv,以下是我的Javascript对象: window.options={ VAR1:VAL1, VAR2:VAL2, VA31:VAL3, }; 我希望它(对象或数组)在.env文件中定义。如何执行此操作?.env中的值只能是字符串 简单的解决方法是将env值存储为逗号分隔的值,如: SOME_VAR=VAL1,VAL2,VAL3 并将其拆分到js文件中: const someVar=process.env.SOME\u VAR.split(“,”); console.log(someVar)

以下是我的Javascript对象:

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

我希望它(对象或数组)在
.env
文件中定义。如何执行此操作?
.env
中的值只能是字符串

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

SOME_VAR=VAL1,VAL2,VAL3
并将其拆分到js文件中:

const someVar=process.env.SOME\u VAR.split(“,”);
console.log(someVar);//['VAL1','VAL2','VAL3']
或者使用您想要的任何分隔符


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

OBJECT_VAL={“VAR1”:“VAL1”,“VAR2”:“VAL2”,“VA31”:“VAL3”}
在js代码中,您可以解析JSON:

constobjectval=JSON.parse(process.env.OBJECT\u VAL);
console.log(objectVal);//{VAR1:'VAL1',VAR2:'VAL2',VA31:'VAL3'}

我个人不认为将JSON字符串存储在.env中是一个好主意,因此我想给出一个更好的方法来存储
.env
值并在js代码中使用它

1.使用普通字符串值或分隔符分隔的值存储环境 例如:

ARRAY=VAL1,VAL2,VAL3

VAR1=VALl1
VAR2=VALl2
VAR3=VALl3
2.创建一个js文件来处理env变量 我将调用它
env.js
,并在此文件上导出包含所有env变量的对象

module.exports={
数组:process.env.array.split(“,”),
对象:{
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。