Heroku:使用不同的环境变量促进静态响应页面

时间:2019-08-12 15:53:44

标签: reactjs heroku static-site heroku-pipelines

我们已经使用Heroku管道部署了静态反应站点。

代码被推送并自动在舞台上构建。对于推向生产阶段,我们想使用Heroku升级功能,因此我们确定我们使用在舞台上测试过的相同版本。

阶段和生产有不同的API,我们希望通过Heroku的环境变量进行配置。

在阶段npm run build的{​​{1}}期间被const apiUrl = process.env.API_URL取代

不幸的是(但当然),const apiUrl = "https://stage-api.example.com"晋升为生产版后仍然是Stage的产品。

此外,发布阶段为does not work的黑客,因为将不会部署发布阶段中的文件系统更改。

是否可以使用带有静态构建和环境变量的Heroku的促进功能(我知道我们可以按阶段进行重建或根据域加载配置)?

是否有使用Heroku管道部署静态站点的良好实践?

1 个答案:

答案 0 :(得分:0)

您需要在运行时运行const apiUrl = process.env.API_URL,而不是在构建时注入。我在heroku中使用了促进功能w /,如果process.env.NODE_ENV === 'production'

,应用程序仅抓取了该变量