WebPack版本"version": "3.12.0"
DevServer版本"version": "2.11.3"
下面的代码段是我配置DevServer代理的方式。它适用于GET
请求,该请求返回了所需的样本数据,但不适用于feedback
通过POST
的端点。对POST
的{{1}}请求总是返回/feedback
。但是,当我将404
更改为method === 'POST'
时,它将重新开始工作。
我已确认通过在分支内扔一个GET
向POST
发送/feedback
请求时分支是可以到达的。
Error('method: ${method}; url: ${url}')
再次尝试使用文档中的常规代理路由配置状态,
const proxyDummy = {
'/': {
bypass: (req) => {
const { url, method } = req;
if (method === 'GET') {
switch (url) {
case '/data':
return SAMPLE_DATA.DATA; // JSON file path (Working)
default:
break;
}
}
if (method === 'POST') {
switch (url) {
case '/feedback':
return SAMPLE_DATA.FEEDBACK; // JSON file path
default:
break;
}
}
return false;
}
}
};
答案 0 :(得分:0)
还没有深入研究DevServer源代码,但是我认为使用上面的配置代码设置代理服务器不仅适用于GET
请求,下面的代理服务器是express
,因此请配置代理像下面这样的服务器工作正常
const proxyDummy = {
'/': {
bypass: (req, res) => {
const { url, method } = req;
if (method === 'GET') {
switch (url) {
case '/data':
return res.send('');
default:
break;
}
}
if (method === 'POST') {
switch (url) {
case '/feedback':
return res.send();
default:
break;
}
}
return false;
}
}
};