AWS S3 中的 React App 缺少环境属性
React App in AWS S3 has missing env properties
我为我的项目开发了前端 (ReactJs) 和后端(Spring 启动)。
将 FE 部署到 S3 存储桶时出现以下问题。
我将 CodePipeline 设置为:
- 从存储库
中提取代码
- 构建步骤,这里我也设置了需要的环境变量
- 和部署,提取代码到S3 bucket。
(然后 Cloudfront 和 Route 53 用于域路由,但我认为这不重要。)
当我第一次(有时)访问我的网站(您可以尝试 salesforce.martinmachava.link)时,它运行良好。
但是后来通过 Salesforce 的 OAuth 不起作用,我修复了一个错误,但这些更改似乎没有反映在 S3 上。我删除了 S3 存储桶中的所有文件,点击了 CodePipeline 中的重新部署按钮。
除了仍然存在的错误之外,我有时会遇到这些错误:
- 未捕获的语法错误:来自主文件“
."
- 和 未捕获错误:属性 [client_id、client_secret] 未定义 来自我的方法以确保所有 环境属性 已设置。这没有任何意义,它应该在构建步骤中设置。是的,在初始部署中我缺少那些 env 属性,但我另外将它们添加到构建步骤中。
好像缓存了一些文件,但我没有在S3中找到任何文件缓存设置。这真的很奇怪,我遇到了这些多个问题,整个 AWS 服务太混乱和凌乱,无法找到真正的问题。有什么帮助或建议吗?
您似乎正在使用 CloudFront 交付从源 (S3) 提供的资产。 CloudFront 是一个 CDN,它在边缘位置缓存内容。
解决方案可能与 invalidating 您的 CloudFront 分配一样简单。
我为我的项目开发了前端 (ReactJs) 和后端(Spring 启动)。 将 FE 部署到 S3 存储桶时出现以下问题。
我将 CodePipeline 设置为:
- 从存储库 中提取代码
- 构建步骤,这里我也设置了需要的环境变量
- 和部署,提取代码到S3 bucket。
(然后 Cloudfront 和 Route 53 用于域路由,但我认为这不重要。)
当我第一次(有时)访问我的网站(您可以尝试 salesforce.martinmachava.link)时,它运行良好。 但是后来通过 Salesforce 的 OAuth 不起作用,我修复了一个错误,但这些更改似乎没有反映在 S3 上。我删除了 S3 存储桶中的所有文件,点击了 CodePipeline 中的重新部署按钮。 除了仍然存在的错误之外,我有时会遇到这些错误:
- 未捕获的语法错误:来自主文件“
." - 和 未捕获错误:属性 [client_id、client_secret] 未定义 来自我的方法以确保所有 环境属性 已设置。这没有任何意义,它应该在构建步骤中设置。是的,在初始部署中我缺少那些 env 属性,但我另外将它们添加到构建步骤中。
好像缓存了一些文件,但我没有在S3中找到任何文件缓存设置。这真的很奇怪,我遇到了这些多个问题,整个 AWS 服务太混乱和凌乱,无法找到真正的问题。有什么帮助或建议吗?
您似乎正在使用 CloudFront 交付从源 (S3) 提供的资产。 CloudFront 是一个 CDN,它在边缘位置缓存内容。
解决方案可能与 invalidating 您的 CloudFront 分配一样简单。