背景
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;