我正在用vite/react和node.js创建一个全栈应用程序,我必须在我的后端使用一个API密钥来与GPT交互,但当然,我想在我的.env文件中使用它。
然而,无论我尝试什么,我的后端都将环境变量读取为undefined。
我已经在互联网上寻找解决方案,但没有任何工作,所以也许有像一些新的东西正在进行..
我的.env文件(与我的package.json在同一路径)
REACT_APP_API_KEY ='HERE IS MY SECRET KEY'
// or //
VITE_API_KEY ='HERE IS MY SECRET KEY'
字符串
和我的server.js(与.env文件在同一路径)
console.log(process.env.REACT_APP_API_KEY)
// or //
console.log(import.meta.env.VITE_API_KEY)
型
这两个选项都返回undefined..
我还想提一下,我确实安装了cross-env包。所以我完全不知道我做错了什么。
1条答案
按热度按时间fwzugrvs1#
对于vite,我很确定你需要
VITE_
变量前缀,以便通过import.meta.env
将其提供给前端:https://vitejs.dev/guide/env-and-mode.html#env-files另一方面,后端节点的行为不同,并且不提供开箱即用的.env支持。我倾向于使用dotenv-flow作为节点预加载脚本。就像这样:
字符串
如果可能的话,请提供更多关于全栈场景的细节,也许还有其他方法比我介绍的更简单。
更新
你可以在PR in the sample projet上看到更多细节。