【发布时间】:2020-02-07 13:49:12
【问题描述】:
我的.env 文件中有一些环境变量会在数据库中的某些值更新时更新。
示例:
REACT_APP_FIREBASE_ID=1234567890
当我在我的 react 应用程序上将此记录到控制台时:
console.log(process.env.REACT_APP_FIREBASE_ID) //this gives "1234567890"
但是当 .env 文件被其他东西更新时:
示例:
REACT_APP_FIREBASE_ID=9876543210
日志仍然给出旧值:
console.log(process.env.REACT_APP_FIREBASE_ID) //this still gives "1234567890"
我在开发模式的 CRA 上使用“npm start”
如果我终止服务器并重新启动它,我可以看到控制台的正确输出。
但是,这在“npm run build”之后不起作用
在生产模式下更改 .env 文件后如何清除环境缓存?
【问题讨论】:
-
您是在更改 env 变量而不重新启动 react 应用程序,还是在更改变量并关闭应用程序并重新启动?
-
更改 env 文件,然后使用“npm start”在开发模式下重新启动服务器。在开发模式下这样做很好。我们可以重新启动服务器。但是在生产模式下怎么做呢?
-
Env 变量不会在服务器不重启的情况下更改。最好将数据存储在其他地方。
-
@HoratiuJeflea 在 JSON 文件中可能吗?并在数据库更新时更新该 JSON?
-
查看 Google Cloud 的解决方案,我只知道 Azure 和 AWS。
标签: reactjs environment-variables create-react-app