使用react相对较新。我有一个应用程序,这是工作正常的本地码头。在启动docker容器之前,我通过将它们导出到环境来填充一些REACT_APP_环境变量。
现在,我正在尝试通过运行yarn构建并提供该构建来将其部署到kubernetes pod。通过查看printenv
,我发现环境变量在pod本身上是可用的,但是应用程序似乎没有获取它们。
在为react-app的生产版本提供服务时,是否有什么特殊之处可以让它看到我所缺少的导出环境变量?
出于安全原因,我不想将.env文件嵌入到构建的docker镜像中,所以我希望通过serve运行react构建仍然可以拾取通过kubernetes secrets设置的导出REACT_APP_环境变量。
发布于 2019-06-01 00:19:52
显然,每当您使用npm构建react应用程序时,都会生成静态文件,而这些静态文件对您在运行时可能尝试使用Kubernetes注入的任何环境变量一无所知。
下面的文章很好地解释了这一点,以及为什么他们选择将环境变量附加到JavaScript窗口对象,因为它具有可用的应用程序范围。
Making a React application container environment-aware at Kubernetes deployment
https://stackoverflow.com/questions/52305859
复制相似问题