前言:
本地项目在请求远端服务器接口时,不可避免的会遇到跨域问题,即便是设置了Access-Control-Allow-Origin:* ,在遇到登录这些需要本地存入cookie的也会很头痛,这里笔者介绍一个在vue-cli中配置代理来解决的办法。
在~/config/dev-server.js中 使用了非常强大的http-proxy-middleware 包。更多高级用法,请查阅其文档。
用法:
比如我们要请求的远端服务器为:http://192.168.400:3000
- 通过设置changeOrigin:true 开启代理
- pathRewrite 意为重写路径
示例:
比如要请求的接口为http://192.168.400:3000/api/main/getUserInfo.action
后续:
在实际工作中,我们还需要做些其他的,比如在axios中配置baseUrl:
axios.interceptors.request.use(function (config) {
// 配置发送请求的信息
return config;
},function (error) {
return Promise.reject(error);
});
axios.interceptors.response.use(function (response) {
// 配置请求回来的信息
return response;
},function (error) {
return Promise.reject(error);
});
var http = axios.create({
timeout: 8000,/设置请求超时时间/
baseURL:'http://192.168.400:3000',});
// Alter defaults after instance has been created
http.defaults.headers.common['Authorization'] = '';
export default http;
/导出http,在mainjs中引用
import http from './config/axiosConfig';
Vue.prototype.$http = http;
/