我们使用 Heroku 管道部署了静态反应站点。
代码在 Stage 上自动推送和构建。为了推送到生产环境,我们想使用 Heroku 提升功能,所以我们确信我们使用的是我们在舞台上测试过的相同构建。
Stage 和 Production 有不同的 API,我们想通过 Heroku 的环境变量进行配置。
在npm run build
舞台const apiUrl = process.env.API_URL
上被替换为const apiUrl = "https://stage-api.example.com"
不幸的是(但当然),在升级到生产之后,apiUrl
它仍然是 Stage 中的那个。
此外,发布阶段的 hack不起作用,因为不会部署发布阶段的文件系统更改。
有没有办法将 Heroku 的提升功能与静态构建和环境变量一起使用(我知道我们可以在每个阶段进行重建或加载基于域的配置)?
使用 Heroku 管道部署静态站点有什么好的做法吗?