如何部署Vuejs应用程序

时间:2019-08-27 21:59:36

标签: java node.js spring spring-boot vue.js

我的应用程序包含两个独立的部分,后端是 Java(春季启动),前端是 Vuejs

我可以在需要的地方简单地将 JAR 部署到我的后端代码中,

但是,在部署 Vuejs 应用程序时,我可以做类似的事情,只需将编译后的 Vuejs 应用程序放在 Java Spring中的正确路径中即可引导应用程序,这也将全部用于前端。

当除了部署之外,它实际上不需要执行任何操作时,将它放入 Spring boot 似乎对我来说是不合适的(也许我知道像乔恩·雪诺(Jon Snow)一样

此外,当将其置于 Spring boot 应用程序下时,手动进行URL编辑也不起作用。

此应用程序不会自行执行任何操作,而是从后端应用程序获取所有数据。

那么我在这里有什么选择,有人可以指导我正确的方向吗?

我是否只是设置一个 nodejs 服务器并在其中部署 Vuejs 应用?我不知道它是如何工作的,或者不确定是否应该在生产应用程序中这样做。如果是这样,我从哪里开始设置 nodejs

3 个答案:

答案 0 :(得分:2)

将它与spring一起部署是有意义的,并且这是非常普遍的做法,至少从我对Angular的经验(我认为与VueJS非常相似)来看。 您不需要运行2台服务器。您只需让Spring服务器处理您的HTML / js / CSS文件,即可帮助您避免CORS的任何问题。

我不太确定“ URL手动编辑”是什么,您是通过编辑URL来浏览网页吗?我在tbh上看不到太多用例,我想那只是几个设置的问题。

在gradle中-我将建立一个构建任务(不确定任务是否正确,2个build.gradle文件,每个用于FE / BE,BE取决于FE),当BE为BE时运行FE运行时,它将创建静态HTML / js(在我的情况下,它是从angular生成的,但对于Vue应该是相似的),并且BE任务将输出添加到java应用程序的类路径中,以便Spring可以注册HTML并将其提供给您。 / p>

答案 1 :(得分:2)

您可以使用 Docker 创建Vue.js应用程序的Dockerized版本,然后将其部署到诸如AWS(例如EC2)之类的云服务提供商上。

查看此链接以获取基本指南https://vuejs.org/v2/cookbook/dockerize-vuejs-app.html

答案 2 :(得分:0)

我的方法是分别部署前端和后端。

您可以使用Web服务器将请求代理到Vuejs或Spring Boot。

例如,如果您使用Nginx,则可以使用此配置传递请求

# pass root request to index file
location / {
    root /front_files/;
    index /index.html;
}

# pass requests to static files
location ~ ^/(js|styles) {
    root /front_files/;
}

# pass requests to back-end
location /api/ {
    proxy_pass http://127.0.0.1:8080/;
}