javascript 从.env文件访问变量时出现问题

cxfofazt  于 2023-06-28  发布在  Java
关注(0)|答案(4)|浏览(154)

我一直在尝试从我的.env文件中获取我的API密钥,该文件位于我的Vite应用程序的文件夹的根目录下,并将其转换为我想要进行抓取的JSX文件,但每次我使用process.env.{MY_VARIABLE_NAME}时,浏览器控制台都会返回一个错误:
参考错误:进程未定义
我尝试从API获取数据的行:

const api = await axios.get(`https://api.spoonacular.com/recipes/random?apikey=${process.env.RECIPE_API_KEY}`)

我检查了周围,我已经尝试安装dotenv,它仍然不起作用
任何人都可以帮助这一点,如果有任何更多的信息,将需要,我可以提供它。

uurity8g

uurity8g1#

process对象在客户端JavaScript环境中不可用,如果你在服务器端运行时运行它,它会工作。

idfiyjo8

idfiyjo82#

您可以尝试将其赋值给变量,然后将其用作:

const API= process.env.RECIPE_API_KEY;
const api = await axios.get(`https://api.spoonacular.com/recipes/random?apikey=${API}`)

我想这会有用的

ldxq2e6h

ldxq2e6h3#

如果你没有使用React应用程序或Webpack这样的打包器,并且你想直接在客户端使用环境变量而不需要任何构建过程,你可以在服务器的响应中公开环境变量,并在客户端JavaScript代码中访问它们。

v8wbuo2f

v8wbuo2f4#

在做了一些研究之后,我发现,由于我使用的是Vite React应用程序,因此应该使用import.meta.env.{MY_VARIABLE_NAME}来访问.env文件中的变量,而不是process.env
我必须在我的.env文件和我试图访问API密钥的地方的变量名的开头添加一个VITE_前缀。

相关问题