我的应用程序使用Python后端,因此当我在本地运行时,我需要将我的请求代理到不同于Webpack运行的端口。
我尝试了几种不同的方法来完成这项工作:
devServer: {
contentBase: outDir,
proxy: [
{
path: "**",
target: "http://localhost:8000",
secure: false,
bypass: function(req, res, options) {
if(req.url === '' || req.url === '/') {
res.statusCode = 302;
res.setHeader('Location', '/a/');
return '/a/';
}
var frontend = new RegExp("^\/$^|\/a\/index\.html|^\/a\/|^\/a$|^\/styleguide");
if (frontend.test(req.url)) return req.url;
}
}
],
// serve index.html for all 404 (required for push-state)
historyApiFallback: true,
},
而且:
proxy: [{
context: '/',
target: 'http://localhost:8000',
}],
这两者在启动时至少会显示与此类似的消息:[HPM] Proxy created: ** -> http://localhost:8000
。当我查看文档并执行类似的操作时,它也无法工作(我甚至不会收到有关代理运行的消息):
proxy: {
"/": "http://localhost:8000"
}
有什么明显的事情我做错了吗?我一直在尝试我能想到的每一种组合,以使其发挥作用。
答案 0 :(得分:1)
尝试添加changeOrigin: true
。别忘了改变API模式。
proxy: {
'/api/**': {
target: 'http://localhost:8000',
secure: false,
changeOrigin: true
},
}