背景
vue3+vite项目,需要部署服务器。
但是根目录已经部署了另外一个项目A了,这个时候要在部署另外一个项目B。
问题
比如你的地址是http://test.com
之前直接输入http://test.com即可访问A项目
如果B项目也这么干的话就冲突了
访问A:http://test.com/A
访问B:http://test.com/B
解决方案
前端部分
方案一
vite项目的话,修改vite.config.js
文件,增加base
配置项
export default defineConfig({base: '/B/',
})
这样,你本地和服务器的访问也会自动带上/B
方案二
修改build
命令,加上参数vite build --base /B/
这样的话,本地访问不带,服务器会带
服务器部分
修改nginx
配置,其中root对应的路径为项目nginx资源的路径
location ^~ /B/ {root /opt/app/nginx;index index.html index.htm;try_files $uri $uri/ /index.html;break;
}
其他问题
1. 刷新页面显示404
修改上面修改的nginx配置的try_files
部分
try_files $uri $uri/ /B/index.html;