上下文: - MERN堆栈应用程序 - 部署到希罗库 - 使用create-react-app
创建的反应应用程序
这是我的文件夹结构:
文件夹结构
在我的服务器app.js
中,我可以通过像这样要求来访问.env
变量:require('dotenv').config({ path: '../.env' });
我正在尝试访问我的 React 应用程序上的 env 变量,但我似乎无法访问根.env
文件中的变量,而且我似乎无法像server/app.js
那样在 React 中为 .env 指定路径(我可以吗?
我可以让它读取任何.env
变量值的唯一方法是将.env
文件移动到client
目录,所以我现在的解决方法是.env
移动到我的客户端目录并更新服务器中的代码以要求它:require('dotenv').config({ path: '../client/.env' });
此解决方法可以修复它,但是是否有更好的方法/最佳实践来允许.env
文件位于根文件夹中?
我是否需要弹出创建-反应-应用并设置一些自定义配置?
更多信息:
我的本地 .env 文件包含:
REACT_APP_API_URL=http://localhost:5000
我的客户端/包.json 脚本:
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
对不起,小姐明白你的问题。
create-react-app
您不必要求dotenv模块,参考:https://create-react-app.dev/docs/adding-custom-environment-variables/
您确定您当地的环境development
吗?