后端路由的项目使用 webpack 的 devServer.proxy 的一个问题

发布于 2022-09-06 08:28:23 字数 473 浏览 6 评论 0

假设有个后端路由的项目,本地路由已经配置好,可以打开 www.abc.com/a.html, www.abc.com/b.html 等页面,想用 webpack 进行前端开发。

因为 webpack-dev-server 起的本地服务都是 localhost,需要将所有的请求都 proxy 到 www.abc.com,所以做如下配置:

devServer: {
  proxy: {
    "/": {
      target: "http://www.abc.com",
      changeOrigin: true
    }
  }
}

但是尴尬的是用命令行 webpack-dev-server 启动服务后,输入 localhost:8080 直接会重定向到 www.abc.com 导致打包的 js 404。

提问:如何使得 url 不重定向?还是我某步姿势有错误?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

也只是曾经 2022-09-13 08:28:23

你这个当然会重定向了,因为你的前端路由定义了path: '/',而你的反向代理又写了'/',结果可想而知,你现在要做的就是把这个'/'改成不会冲突的名称,比如下面这样:

devServer: {
  proxy: {
    "/abc": {
      target: "http://www.abc.com",
      changeOrigin: true,
      pathRewrite: {
         '^/abc': ''
      }
    }
  }
}
霞映澄塘 2022-09-13 08:28:23

不是很明白你的需求,当你的localhost:8080 重定向到 www.abc.com,所有的资源直接取得的是www.abc.com下的资源,何来404?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文