vue项目配置代理服务器中转请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目配置代理服务器中转请求相关的知识,希望对你有一定的参考价值。
参考技术A 在 vue 推崇的插件 axios 中 ,并没有 jsonp 功能, 因此可以配置一个代理服务器中转请求,如下图这样就完成了中转。
vue-cli项目本地代理实现跨域请求
使用 Vue-cli 创建的项目,开发地址是 localhost:8080,需要访问非本机上的接口http://10.1.0.34:8000/queryRole。不同域名之间的访问,需要跨域才能正确请求。跨域的方法很多,通常都需要后台配置,不过 Vue-cli 创建的项目,可以直接利用 Node.js 代理服务器,通过修改vue proxyTable接口实现跨域请求,在vue-cli项目中的config文件夹下的index.js配置文件中,修改前的dev:
dev: {
env: require(‘./dev.env‘),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: ‘static‘,
assetsPublicPath: ‘/‘,
proxyTable: {},
cssSourceMap: false
}
只要修改里面的proxyTable: {}项
proxyTable: {
‘/api‘: { //代理地址
target: ‘http://10.1.0.34:8000/‘, //需要代理的地址
changeOrigin: true, //是否跨域
secure: false,
pathRewrite: {
‘^/api‘: ‘‘ //本身的接口地址没有 ‘/api‘ 这种通用前缀,所以要rewrite,如果本身有则去掉
}
}
}
然后重启项目npm run dev
请求数据时URL前加上“/api”就可以跨域请求了
self.$axios.get(‘/api/queryRole‘, {params: params})
.then((res) => {
console.log(res);
}).catch((err) => {
console.log(err);
})
以上是关于vue项目配置代理服务器中转请求的主要内容,如果未能解决你的问题,请参考以下文章