所以我在heroku上有一个演出和生产应用程序。
我还使用create-react-app
,在构建期间嵌入环境变量。由于构建是在staging
上进行的,然后将应用程序发布到production
,因此我正在生产staging
的环境变量。
是否有一种方法可以在production
上(从heroku配置中)获取运行时环境而无需重建整个应用程序?
答案 0 :(得分:1)
不是简短的答案。
基本上,当您构建前端应用程序时,它们会从节点服务器(对于create react app而言)变成静态文件。这意味着js-css-html都被硬烘焙到静态文件中。然后,当您从暂存更改为生产时,这些相同的文件将与暂存中的“硬编码”变量一起传输。
对此有一个凌乱的解决方案,您编写了一个脚本来查找并替换缩小的javascript文件中的变量,但这很讨厌.....
一个更好的解决方案是使用生产变量来重建前端,这并不意味着花费很长时间。这也使您有机会在部署到生产之前进行单元测试等。
我希望这会有所帮助!