一、配置

devServer:{
        contentBase:'./',
        proxy:{
            // 当你请求是以/api开头的时候,代理会访问到http://localhost:3000
            // 例如:
            // /api/users 则访问到 http://localhost:3000/api/users
            // 我们真实的服务器接口是没有/api的 
            "/api":{
                target:"http://localhost:3000",
                pathRewrite:{"^/api":""}
            }
        }
    }

二、原理

  如果你要用代理,首先你得有一个标识,告诉他你这个连接要用代理。不然的话, 可能你的 html, css, js这些静态资源都跑去代理.。所以我们只要接口用代理,静态文件用本地。

  "/api": {},就是告诉node,我接口只要是"/api"开头的才用代理。所以你的接口就要这么写 /api/xx/xx. 最后代理的路径就是 http://xxx.xx.com/api/xx/xx。

  可是我正确的接口路径里面没有/api,所以就需要pathRewrite,用"^/api" 把前缀去掉,这样既能有正确标识,又能在请求接口的时候去掉api。