最近開發時,遇到須要使用同一域名承載多個前端項目的場景,具體需求以下:html
/v2
訪問新版本前端項目/api
訪問後端 Spring Boot 接口服務/
訪問默認前端項目
server { listen 80; listen [::]:80; server_name _; server_name_in_redirect off; proxy_set_header Host $host; location /api { proxy_pass http://0.0.0.0:0000; } location / { index index.html; root /path/to/main/web/app; } location /v2 { index index.html; root /path/to/v2/web/app; } }
僅僅經過上述配置,在訪問新版前端時,會遇到資源文件沒法找到的問題。前端
此時,能夠經過對新版前端 vue.config.js
文件中的 publicPath
進行配置,以規避這一問題( 注:該方法僅適用於 Vue-Cli 3.x 構建的項目 ):vue
module.exports = { ... publicPath: '/v2/', ... };