【发布时间】:2025-12-12 17:05:03
【问题描述】:
我目前正在开发一个带有分离的前端 (Vue) 和后端 (quarkus REST API) 项目的简单 web 应用程序。现在,我已经设置了一个 MVP,其中前端显示了一些从后端调用的简单数据。要获得有效的 MVP,我需要设置 CORS 支持。但是,首先我想解释一下我的设置:
设置
我开始使用npm run serve 开发我的前端环境,使用./mvnw quarkus:dev 开发我的后端环境。前端在localhost:8081 上运行,后端在localhost:8080 上运行。
Heroku 还允许使用命令heroku local web 在本地运行您的应用程序。前端在0.0.0.0:5001 端口上运行,后端在0.0.0.0:5000 上运行。
为了实现这个设置,我在前端设置了两个 .env 文件,它们指向我的后端 api。如果我想在开发模式下工作,则加载文件.env.development:
VUE_APP_ROOT_API=http://localhost:8080
如果我使用 heroku local web 运行文件 .env.local
VUE_APP_ROOT_API=0.0.0.0:5000
已加载。
在我的后端我已经设置
quarkus.http.cors=true
在我的application.properties。
现在我想将这两个项目部署到 heroku 并在生产中使用它。因此我设置了两个heroku项目,并在我的前端项目中设置了一个配置变量,其值如下:
VUE_APP_ROOT_API:https://mybackend.herokuapp.com
我的前端调用成功了!
问题
对于下一步,我想对其进行更多限制,并让我的前端能够调用我的 API。我知道我可以设置类似的东西
quarkus.http.cors.origins=myfrontend.herokuapp.com
但是,我不知道如何在具有不同环境(开发、本地和生产)的 quarkus 上做到这一点?我找到了这个link,但我不知道如何正确配置 heroku 和我的后端应用程序。我是否需要设置应用于不同环境的不同配置文件?还是有其他解决方案?我需要 Herokus 配置变量吗?
感谢到目前为止的帮助!
【问题讨论】:
标签: vue.js heroku environment-variables quarkus