在我的 .env 文件中有这样的内容:
GOOGLE_MAP_API=AIzaSyByfXuuwxOIaWlefhSxqhMweF-0
Another_API_KEY=5893978af2537e042beb233b1
我想创建一个 .env 文件,其中“Another_API_KEY”是从多个 api 密钥列表中随机选择的。
类似这样的:
GOOGLE_MAP_API=AIzaSyByfXuuwxOIaWlefhSxqhMweF-0
var r_text = new Array();
r_text[0] = "a3219d4e2772db6e34c62144b27f";
r_text[1] = "5bbe61fe6db548e665a49663eba2";
r_text[2] = "d74ae61790a9937e3f6d5d3ddc83";
var nn = Math.floor(3 * Math.random());
var Another_API_KEY = r_text[nn]
但这不起作用。是否可以从 .env 文件中的 React JS 应用程序列表中获取随机密钥?
.env
文件存储字符串,因此无法在其中运行 Javascript。
但是,您可以做的是存储您想要从中随机选取的所有密钥
.env
,并且当您在应用程序中使用它们时,您可以选择其中一个。
.env
GOOGLE_MAP_API=AIzaSyByfXuuwxOIaWlefhSxqhMweF-0
RANDOM_KEYS="a3219d4e2772db6e34c62144b27f 5bbe61fe6db548e665a49663eba2 d74ae61790a9937e3f6d5d3ddc83"
然后在你的代码上:
// Choose random key from all options
const RANDOM_KEYS_ARRAY = process.env.RANDOM_KEYS.split(" ")
const RANDOM_KEY = RANDOM_KEYS_ARRAY[Math.floor(RANDOM_KEYS_ARRAY.length * Math.random())]
这是一个包含工作代码的沙箱: https://codesandbox.io/s/getting-random-key-from-env-xuup4r
我成功了。
我的文件app.js,其中的命令是从.env获取api密钥:&appid=${process.env.REACT_API_KEY}
我删除了:process.env。 并插入
'var r_text = new Array();
r_text[0] = "456afa82537e042beb233b25";
r_text[1] = "s54667e042b33b1fa525";
r_text[2] = "456a82537e042beb233b525";
var nn = Math.floor(3 * Math.random());
var REACT_API_KEY = r_text[nn];'
而且它有效。谢谢你