如何使用代理处理 vue cli 开发服务器中的重定向?
How can I handle redirects in vue cli development server with a proxy?
我的项目设置包括一个 vue 应用程序,前端有几个页面,后端有一个 flask。
对于我的开发设置,我使用 vue.config.js
中的 devServer.proxy
设置:
module.exports = {
devServer: {
proxy: "http://localhost:5000"
}
}
这几乎适用于所有请求。当后端服务器发出重定向请求时出现问题,该请求显然指向后端的 URL 。但是在开发设置中这个页面还不存在,因为它是由 webpack 开发服务器提供的。 (我正在测试一个登录页面,在成功验证后重定向到实际内容)
最终我想重写重定向以指向 webpack 服务器上的相应 URL。 (好吧,也欢迎任何其他可行的解决方案)
有人知道如何实现吗?
我想通了:
基本上你必须传递选项 hostRewrite
来重写重定向,f.e。如果 vue 开发服务器是 运行 在 localhost:8080
:
module.exports = {
devServer: {
proxy: {
".*": {
target: "http://localhost:5000",
hostRewrite: "localhost:8080"
}
}
}
}
我的项目设置包括一个 vue 应用程序,前端有几个页面,后端有一个 flask。
对于我的开发设置,我使用 vue.config.js
中的 devServer.proxy
设置:
module.exports = {
devServer: {
proxy: "http://localhost:5000"
}
}
这几乎适用于所有请求。当后端服务器发出重定向请求时出现问题,该请求显然指向后端的 URL 。但是在开发设置中这个页面还不存在,因为它是由 webpack 开发服务器提供的。 (我正在测试一个登录页面,在成功验证后重定向到实际内容)
最终我想重写重定向以指向 webpack 服务器上的相应 URL。 (好吧,也欢迎任何其他可行的解决方案)
有人知道如何实现吗?
我想通了:
基本上你必须传递选项 hostRewrite
来重写重定向,f.e。如果 vue 开发服务器是 运行 在 localhost:8080
:
module.exports = {
devServer: {
proxy: {
".*": {
target: "http://localhost:5000",
hostRewrite: "localhost:8080"
}
}
}
}