我已经从webpack 3升级到了vue-cli-3,现在开发中的代理不再起作用。
我正在使用axios呼叫被代理的/api/action/someAction
https://www.xyz.xy/ui/proxy/ServiceProxyServlet?server=0&serverpath=/api/action/someAction
我使用了Webpack 3中的proxyTable配置
proxyTable: {
'/api': {
target: 'https://www.xyz.xy/ui/proxy/ServiceProxyServlet?server=0&serverpath=',
changeOrigin: true,
secure: false,
},
},
正在工作。
现在我已经升级到新的vue-cli-3,现在我正在使用
devServer: {
proxy: {
"/api": {
target: "https://www.xyz.xy/ui/proxy/ServiceProxyServlet?server=0&serverpath=",
changeOrigin: true,
secure: false,
}
}
据我所知,应该是相同的。但它不再起作用了。
我试图通过搜索stackoverflow并在vue-cli git repo上寻找问题来解决这个问题。我知道使用正则表达式的一些线索,因此我尝试过
'/api'
'^/api'
'/api/'
但是那并没有解决问题。我也尝试过添加一个custoum pathRewrite:
pathRewrite: {
'^/api': '/api'
}
和调试路径重写
pathRewrite: function (path, req) {
console.log('path ' + path + "\n url " + req.url + " host " + req.host);
return path;
}
显示主机仍然是本地主机,而不是https://www.xyz.xy,我得到了404。
我觉得我在这里缺少一些细节...可能是axios的版本有所不同?我使用的是0.18.0,现在使用vue-cli-3的是0.19.0 ...
任何人都可以帮忙吗?
有相同的问题。
我不知道它是如何关联的,但是像off. docs中所述添加“ ws”选项很有帮助。
module.exports = {
devServer: {
proxy: {
'^/api': {
target: 'http://mysexyhost',
ws: true,
changeOrigin: true
}
}
}
}