Vuejs 和 quarkus 开发部署
Vuejs and quarkus development and deploy
我是初学者,有很多 os 问题,但我需要一个建议。
我进入了一家正在构建程序的公司,其中后端在 Quarkus (java) 中构建,前端在 vuejs 中构建。
我的问题是,作为 micros 服务,这两个项目是分开完成的(不同的服务器),vue 使用 quarkus 的端点还是一起完成?
用一个例子更好地解释,在开发模式下,一个人必须 运行 in ex: "localhost:8080" 和另一个 in ex: "localhost:8081"?或者它们都在同一个端口?
请原谅我的英语错误,非常感谢。
通常有三种(至少)方法可以做到这一点,请注意,其中大多数都不是 Quarkus 特定的:
- 您将前端分别部署在网络容器(httpd、nginx、节点)和 Quarkus 应用程序中。您通过 URL 访问 Quarkus 应用程序,为此您需要配置 CORS(跨源资源共享)。
- 您将前端分别部署在 web 容器和 Quarkus 应用程序中,但您使用 web 容器为 Quarkus 应用程序创建代理以避免必须配置 CORS。在这种情况下,您的前端将能够通过同一端口上的本地主机或相对 URL.
访问您的后端
- 您将前端应用程序打包到 Quarkus 应用程序中(在
META-INF/resources
内),并且您的前端通过同一端口或相对 URL 上的本地主机访问后端。 Quarkus 应用程序将为您的前端资源提供服务(HTML、CSS、JS、...)
@loicmathieu 分享了高级图片。但我们会深入挖掘。
参考这个例子Quarkus + Vue.js + MongoDB CRUD Example
这里,
处于开发模式
后端 在 8081
上运行
application.properties
quarkus.http.cors=true
quarkus.http.cors.origins=http://localhost:8080
quarkus.http.cors.methods=GET,PUT,POST,DELETE
quarkus.http.port=8081
FrontEnd 在 8080
上运行
vue.config.js
module.exports = {
devServer: {
port: 8080
}
}
如果你有一个五个人的团队,或者你有多个 n 个人的团队,或者你一个人,都可以
最好实施关注点分离原则。
您可以专注于单独的目标、架构、速度等。后端:数据处理,前端:用户交互
缺点
- 需要更多基础设施
- 费用
我是初学者,有很多 os 问题,但我需要一个建议。 我进入了一家正在构建程序的公司,其中后端在 Quarkus (java) 中构建,前端在 vuejs 中构建。 我的问题是,作为 micros 服务,这两个项目是分开完成的(不同的服务器),vue 使用 quarkus 的端点还是一起完成? 用一个例子更好地解释,在开发模式下,一个人必须 运行 in ex: "localhost:8080" 和另一个 in ex: "localhost:8081"?或者它们都在同一个端口?
请原谅我的英语错误,非常感谢。
通常有三种(至少)方法可以做到这一点,请注意,其中大多数都不是 Quarkus 特定的:
- 您将前端分别部署在网络容器(httpd、nginx、节点)和 Quarkus 应用程序中。您通过 URL 访问 Quarkus 应用程序,为此您需要配置 CORS(跨源资源共享)。
- 您将前端分别部署在 web 容器和 Quarkus 应用程序中,但您使用 web 容器为 Quarkus 应用程序创建代理以避免必须配置 CORS。在这种情况下,您的前端将能够通过同一端口上的本地主机或相对 URL. 访问您的后端
- 您将前端应用程序打包到 Quarkus 应用程序中(在
META-INF/resources
内),并且您的前端通过同一端口或相对 URL 上的本地主机访问后端。 Quarkus 应用程序将为您的前端资源提供服务(HTML、CSS、JS、...)
@loicmathieu 分享了高级图片。但我们会深入挖掘。
参考这个例子Quarkus + Vue.js + MongoDB CRUD Example
这里,
处于开发模式
后端 在 8081
上运行application.properties
quarkus.http.cors=true
quarkus.http.cors.origins=http://localhost:8080
quarkus.http.cors.methods=GET,PUT,POST,DELETE
quarkus.http.port=8081
FrontEnd 在 8080
上运行vue.config.js
module.exports = {
devServer: {
port: 8080
}
}
如果你有一个五个人的团队,或者你有多个 n 个人的团队,或者你一个人,都可以
最好实施关注点分离原则。 您可以专注于单独的目标、架构、速度等。后端:数据处理,前端:用户交互
缺点
- 需要更多基础设施
- 费用