# 前后端分离部署

在某些项目中,由于网络环境复杂,客户要求前端和后端分开来部署,以适应跨网需求。本章节将介绍如何将前端和后端分离部署。在工程的根目录下,内置了执行打包的脚本,我们需要先将前后端资源分别打包出来。

# 打包资源

支持在 mac,linux 以及 windows 上执行打包脚本。 以在 mac 上执行 .sh 为例(windows执行 .bat 脚本)。

#如遇到权限问题,授权执行脚本
chmod 777 build-*

# 构建前端资源
build-ui.sh

# 构建后端资源(默认是构建jsw,可以调整脚本打jar包)
build-api.sh

执行后,将会在 ui/dist/build 目录下生成前端资源包。在 api/target/webapp/ 目录下生成了后端资源包。

# 后端部署

  • 修改 conf/config.yml 配置(jsw方式)

后端部署方式可以参考前面的三种方式,这里不再赘述。 这里重点指出 config.yml 的配置。 以下几个 url 的配置需要使用绝对地址。


apiBaseUrl: "https://domain:port/"
orchServerBaseUrl: "https://domain:port/serverless"
resourceBaseUrl: "https://domain:port/"
serviceBaseUrl: "https://domain:port/service"
authorizeUrl: "https://domain:port/$perms"
orchBaseUrl: "https://domain:port/orchestration"
file.upload: "https://domain:port/${file.upload}"
file.download: "https://domain:port/${file.download}"

# 前端部署

找到目录下的 config.js 文件,修改其中的 configUrl 配置项,指向后端的服务地址

window.config = {
    configUrl: 'https://domain:port/config.json' // 后端服务地址,这里需要用绝对地址。
};

将静态资源包上传到服务器上部署,可放到 Nginx、Apache、Tomcat 等服务器上。

# 可选配置

  • 修改 pom.xml (可选)

pom.xml 中,将 copy-ui 部分配置去掉,去掉后将不会打包到后端部署包里面。

pom.xml

顶部