项目开发的时候,配置请求代理,一般是使用dev-server自定义配置(代理地址,是否跨域,请求超时,bypass(有时你不想代理所有的请求。可以基于一个函数的返回值绕过代理)具体功能:https://www.cnblogs.com/coolslider/p/7076191.html 等等);
一.在comfig里面定义一个proxy.target.json文件。
{
"output": "http://长域名/短域名.com/"
}
二. 引入proxy.target.json文件,自定义代理配置
const proxyTarget = require('./proxy.target'),
getConfig = (output) => ({
// 基础代理配置
target: output,
changeOrigin: true,//设置成true:发送请求头中host会设置成target
ws: false, // WebSocket
pathRewrite: {},//重写备注路径
secure: false,//接受运行在 HTTPS 上,且使用了无效证书的后端服务器
timeout: 1920000,
bypass(req, res, proxyOptions) {
proxyOptions;
if (req.headers.accept && req.headers.accept.indexOf('html') !== -1) {
return '/index.html';
}
}
}),
proxy = {};
// 配置多个代理
(Array.isArray(proxyTarget.extends) ? proxyTarget.extends : []).forEach(
({ path, target }) => {
proxy[path] = getConfig(target);
}
);
proxy['/'] = getConfig(proxyTarget.output); // 默认值放在最后
module.exports = {
host: '0.0.0.0',// 监听本机所有的 IP
disableHostCheck: true,// 配置是否关闭用于 DNS 重绑定的 HTTP 请求的 HOST 检查
headers: {},// 在HTTP响应中注入一些HTTP响应头
progress: false,
proxy
};