【发布时间】:2019-05-30 08:46:24
【问题描述】:
我有一个 react 应用程序和两个 AWS Beanstalk 实例:开发和生产。我正在尝试将上述 React 应用程序的开发版本部署到开发环境,并将生产版本部署到生产环境。
每个环境都设置了不同的环境变量(应该调用的 API 的 URL),因此输出应该不同。 两个 API URL 在直接通过浏览器调用时都可以工作,所以我知道这不是它们的问题。
我认为在开发中部署的过程是这样的:
对于开发人员:npm start build > eb deploy -e development
对于产品:npm run build > eb deploy -e production
打开开发网页时,一切正常:正在调用开发环境变量并生成一些输出。
但是,当打开生产网页时,我收到一条错误消息(因为缺少环境变量):
This screen is visible only in development. It will not appear if the app crashes in production.
Open your browser’s developer console to further inspect this error.
但我认为我的应用只是在生产中崩溃了?这清楚地表明我没有正确部署生产版本。
我哪里做错了?
【问题讨论】:
-
嗨,您是否尝试检查当前处于活动状态的环境? eb list 向您显示环境列表,并且在活动环境旁边有一个星号 (*)。然后您可以使用 [environment_name] 来选择它,然后进行 eb 部署。或者,您也可以使用 eb deploy -e [environment_name]
-
嗨@RohitNethi 这实际上是我所做的。我正在部署到正确的环境中,问题是正在部署错误的构建。我调整了我的问题以更好地反映这个问题。
标签: reactjs amazon-web-services npm deployment amazon-elastic-beanstalk