proxy是什么?
proxy是ES6中就存在的,用于修改某些操作的默认行为,可以理解成在目标对象前设一个拦截层,因此也叫“代理器”
vue中使用proxy代理
Vue 框架开发的时候,会遇到跨域的问题,可在config/index.js 里配置proxyTable内容,使用proxy 代理。
module.exports = {
publicPath:'./',// npm run build 之后的资源路径默认 ‘/’
devServer:{
proxy:{
'/hehe':{
target:"http://ustbhuangyi.com/", //目标服务器
changeOrigin:true,//是否改变请求源
pathRewrite:{ //路径重写
"^/hehe":''
}
}
// "/xixi":{
// target:'http://www.baidu.com',
// changeOrigin:true,
// pathRewrite:{
// "^/xixi":''
// }
// }
}
}
}
然后在axios请求中
//get请求
export const getRecommentList=()=>{
return new Promise((resolve,reject)=>{
let url='/hehe/music/api/getDiscList'
axios.get(url)
.then((data)=>{
resolve(data)
})
.catch((err)=>{
reject(err)
})
})
}
//post请求
export const getRecommentList=()=>{
return new Promise((resolve,reject)=>{
let url='/hehe/music/api/getDiscList'
let data={
firstName: 'Fred',
lastName: 'Flintstone'
},
axios.post(url,data)
.then((data)=>{
resolve(data)
})
.catch((err)=>{
reject(err)
})
})
}