Vuejs 和 quarkus 开发和部署

问题描述 投票:0回答:2

我是一名初学者,有很多操作系统问题,但这里有一个我需要建议。 我进入了一家正在构建程序的公司,该程序的后端是用 Quarkus (java) 构建的,前端是用 vuejs 构建的。 我的问题是,作为微服务,这两个项目是分别完成的(不同的服务器),vue 消耗 quarkus 的端点,还是一起完成? 用一个例子更好地解释一下,在开发模式下,一个必须在 ex: "localhost:8080" 中运行,另一个必须在 ex: "localhost:8081" 中运行?或者两者都在同一个端口?

请原谅我的英语错误,非常感谢。

java vue.js deployment development-environment quarkus
2个回答
1
投票

通常有三种(至少)方法可以做到这一点,请注意,其中大多数都不是 Quarkus 特定的:

  1. 您将前端分别部署在 Web 容器(httpd、nginx、node)和 Quarkus 应用程序中。您可以通过 URL 访问 Quarkus 应用程序,为此您需要配置 CORS(跨源资源共享)。
  2. 您将前端分别部署在 Web 容器和 Quarkus 应用程序中,但使用 Web 容器为 Quarkus 应用程序创建代理,以避免配置 CORS。在这种情况下,您的前端将能够通过同一端口上的本地主机或相对 URL 访问您的后端。
  3. 您将前端应用程序打包在 Quarkus 应用程序内(在
    META-INF/resources
    内),并且您的前端通过同一端口或相对 URL 上的 localhost 访问后端。 Quarkus 应用程序将为您的前端资源(HTML、CSS、JS...)提供服务

-1
投票

@loicmathieu 分享了高级图片。

参考此示例Quarkus + Vue.js + MongoDB CRUD 示例

这里,

开发模式中

后端在8081上运行

应用程序.属性

quarkus.http.cors=true
quarkus.http.cors.origins=http://localhost:8080
quarkus.http.cors.methods=GET,PUT,POST,DELETE
quarkus.http.port=8081

前端在 8080 上运行

vue.config.js

module.exports = {
    devServer: {
        port: 8080
    }
}

如果你有一个有五个人的团队,或者你有多个有n个人的团队,或者如果你一个人,都没关系

最好实施关注点分离原则。 您可以专注于单独的目标、架构、速度等。后端:数据处理,前端:用户交互

© www.soinside.com 2019 - 2024. All rights reserved.