如何在控制台显示devServer配置proxy代理的真实url地址

image.png
  • 项目中配置proxy的配置为
    devServer: {
      port: 8080,
      proxy: {
        "/api": {
          target: "http://xxx:3000",
          ws: true,
          changeOrigin: true,
          pathRewrite: {
              "^/api": "",
          },
      },
      hot: true,
    }
  • 新增一个onProxyRes方法
   const onProxyRes = (proxy) => {
    for (const api in proxy) {
      const {target, ws, changeOrigin, pathRewrite} = proxy[api];
      proxy[api] = {
        target,
        ws: ws || false,
        changeOrigin: changeOrigin || false,
        pathRewrite: pathRewrite || undefined,
        onProxyRes(proxyRes, req) {
          try {
            const targetObj = new URL(target)
            let reqUrl = req.url
            if (pathRewrite) {
              for (const key in pathRewrite) {
                const replaceValue = pathRewrite[key];
                let pattern = new RegExp(key)
                reqUrl = req.url.replace(pattern, replaceValue)
              }
            }
            let pathname = (targetObj.pathname + reqUrl).replace('//', '/')
            const realUrl = new URL(pathname, targetObj.origin)?.href ?? ''
            proxyRes.headers['x-real-url'] = realUrl
          } catch (error) {
            proxyRes.headers['x-real-url'] = 'undefined'
          }
        }
      }
    }
    return proxy
  }
  • 修改proxy配置
    devServer: {
      port: 8080,
      proxy: onProxyRes({
        "/api": {
          target: "http://xxx:3000",
          ws: true,
          changeOrigin: true,
          pathRewrite: {
              "^/api": "",
          },
      }),
      hot: true,
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容