我们已经使用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管道部署静态站点的良好实践?
答案 0 :(得分:0)
您需要在运行时运行const apiUrl = process.env.API_URL
,而不是在构建时注入。我在heroku中使用了促进功能w /,如果process.env.NODE_ENV === 'production'