一、解決方案
1.1 描述接口context-path
后端的兩個接口服務請求前綴,如下:
- 前綴1: /bryant
- 前綴2: /
1.2 vue.config.js配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
devServer: { port: 8005, proxy: { // 第一臺服務器配置 '/bryant' : { target: 'http://localhost:8081, ws: true, changeOrigin: true, pathRewrite: { ' ^/bryant ': ' /bryant ' } }, // 第二臺服務器配置 ' / ': { target: ' http: //localhost:8082', ws: true , changeOrigin: true , pathRewrite: { '^/ ': ' /' } } } } |
1.3 axios修改
1
2
3
4
5
6
7
|
// api base_url,設置前綴不存在 const BASE_URL = '' // 創建 axios 實例 const service = axios.create({ baseURL: BASE_URL, timeout: 6000 // 請求超時時間 }) |
此時axios不需要直接指定baseUrl配置
1.4 發送請求
1
2
3
4
5
6
7
8
9
10
11
12
|
// 請求前綴為“/” this .$http.get( "/basketball" ).then(res => { console.log( '/' , res) }). catch (err => { console.log(err) }) // 請求前綴為“bryant” this .$http.get( "/bryant/mvp" ).then(res => { console.log( '/bryant' , res) }). catch (err => { console.log(err) }) |
總結
多個接口服務的情況下,如果前綴是"/",要將其放在proxy配置的最后一部分,代理的時候是從上往下查找的,如果放在最上面其他服務也會被該配置代理掉
到此這篇關于詳解vue配置請求多個服務端解決方案的文章就介紹到這了,更多相關vue配置請求多個服務端內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://juejin.cn/post/6944937167991308319