vue-cli 项目部署服务器代理失败
Vue使用代理进行多地址请求服务器接口,在本地的时候,接口都没问题,但是部署在服务器上后,接口虽然带上了相关的代理地址url,但是是404?
配置文件
代理失败
-- 更新一下axios配置文件
import axios from "axios";import qs from "qs";
import { Message } from "element-ui";
axios.defaults.withCredentials = true;
const service = axios.create({
baseURL: "",
timeout: 20000,
retry: 2, // 请求次数,
withCredentials: true,
retryInterval: 1000 // 请求超时后,1s再次请求
});
service.interceptors.request.use(
// 请求之前的处理,token,(js-cookie),store处理
config => {
console.log(config);
config.baseURL =
config.params && config.params.baseUrl ? config.params.baseUrl : "/local";
if (!config.params.isForm) {
config.headers["Content-type"] =
"application/x-www-form-urlencoded; chartset=UTF-8";
}
let UserInfo = JSON.parse(localStorage.getItem("UserInfo")) || {};
config.params.platformId = UserInfo.PlatformID;
config.params.isForm && delete config.params.isForm;
config.params.baseUrl && delete config.params.baseUrl;
config.params.isDelete && delete config.params.platformId;
config.method === "POST"
? (config.data = qs.stringify({
...config.data
}))
: (config.params = {
...config.params
});
config.headers.Authorization = UserInfo.acces_token || null;
return config;
},
error => Promise.reject(error)
);
service.interceptors.response.use(
response => {
let res = response;
// 200 正常请求, 206音视频
if (res.status === 200 || res.status === 206) {
let resData = res.data;
if (resData.Status === 200 || resData.Status === 205) {
return resData;
} else {
Message.error(resData.Message);
}
}
},
error => {
// 请求超时,处理
// let errorMessage = JSON.parse(JSON.stringify(error));
const { config } = error;
if (!config || !config.retry) return Promise.reject(error);
// 重新请求次数
config.retryCount = config.retryCount || 0;
// 请求次数是否上限
if (config.retryCount >= config.retry) {
return Promise.reject(error);
}
config.retryCount += 1;
// 重新发起请求
const back = new Promise(resolve => {
setTimeout(() => {
resolve();
}, config.retryInterval || 1);
});
// 返回axios实体
return back.then(() => service(config));
}
);
export default service;
请求方法
api是定义的变量,vue.config.js里面代理的地址
回答
在请求接口时,前缀只需要写类似 /apiUrl
就可以了。
你请求接口的时候是怎么写的?
话说你既然部署到了服务器上,也不会走你这个proxy代理了吧,你的代理转发不应该考虑在nginx层去加吗
以上是 vue-cli 项目部署服务器代理失败 的全部内容, 来源链接: utcz.com/a/26950.html