vue项目构建

我们前端构建方式是:vue项目build之后dist发送到服务器tomcat下重启。现在想把两个分别打包的项目A B分别发送到统一tomcat webapps下和webapps->projectB下,构建重启后,始终只能访问到webapps下的项目A,项目B该如何同时访问到?

在vue-router中配置了base: '/projectB/',是无效的

base文档是这样介绍的:
应用的基路径。例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/"

阅读 2.6k
4 个回答

这个问题上周解决了,方案如下:
前端项目是基于Vue CLI 3构建的:
1)在vue.config.js中配置了publicPath,如 publicPath: '/projectB/';
2)vue-router路由配置,如 base: '/projectB/';
3)tomcat下server.xml中Host配置:
<Context path="projectA" docBase="projectA/dist" reloadable="true" />
<Context path="projectB" docBase="projectB/dist" reloadable="true" />

注:
1)tomcat下打包文件发送后存放路径:
webapps ->
projectA -> dist -> 构建文件
projectB -> dist -> 构建文件
2)vue.config.js中publicPath属性生效必须@vue/cli-service版本^3.2.0

应该是在 tomcat 中配置,你们这是跟后端统一部署在一个服务器上吧。

是这样打包没错的啊。
如果服务器路径在projectB,项目路径base改成projectB打包就行的。

把base改成./
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题