值在.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
value 并在你的 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.
每次你想访问你的环境变量时。