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

0 0 webpack webpack-dev-server
夏未央
夏未央

声望值:78 0人

2019-01-08 16:30:11 提问

关注 0关注

收藏 0收藏, 22浏览

假设有个后端路由的项目,本地路由已经配置好,可以打开 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 不重定向?还是我某步姿势有错误?

请先 登录 后评论

2个回答

  • 魔法の故郷227声望 2018-09-25 09:29

    你这个当然会重定向了,因为你的前端路由定义了path: '/',而你的反向代理又写了'/',结果可想而知,你现在要做的就是把这个'/'改成不会冲突的名称,比如下面这样: devServer: { proxy: { "/abc": { target: "http://www.abc.com", changeOrigin: true, pathRewrite: { '^/abc': '' } } } }
    请先 登录 后评论
  • wolfing_85声望 2018-09-25 09:30

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

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问