1、路徑中含有'/dev-api/admin/product'都會匹配到第一個代理,需要注意的是如果把第二個代理放到最上面那么所有請求會被匹配到其target路徑下
2、實際路徑是:target+ baseURL(如果重寫axios文件配置)+url(api文件) - pathRewrite
實際請求:
1、http://39.98.123.211:8170/admin/acl/index/login
2、http://39.98.123.211:8216/admin/product/baseTrademark/1/10
配置后實際路徑: target+baseURL+url(api.js) - pathRewrite (重寫路徑) == > http://39.98.123.211:8216/dev-api/admin/product/baseTrademark/1/10 =》將路徑中 /dev-api變為空
====> http://39.98.123.211:8216/admin/product/baseTrademark/1/10
request.js
import axios from 'axios' import { MessageBox, Message } from 'element-ui' import store from '@/store' import { getToken } from '@/utils/auth' // create an axios instance const service = axios.create({ baseURL: "/dev-api",
timeout: 5000
})
vue.config.js
proxy: { '/dev-api/admin/product': { target: 'http://39.98.123.211:8216', pathRewrite: { '^/dev-api': '' }, ws: true, //用於支持websocket
changeOrigin: true, // 用於控制請求頭的host值
secure: false, //http為false ,https為true
}, '/dev-api': { target: 'http://39.98.123.211:8170', pathRewrite: { '^/dev-api': '' }, }, },
api.js
import request from '@/utils/request'
export function login(data) {
return request({
url: '/admin/acl/index/login',
method: 'post',
data
})
}
export const tradeMarkList = (page,limit) => request({ url: `/admin/product/baseTrademark/${page}/${limit}`,
method: 'get', })