angular中的proxy配置说明

发布时间 2023-07-04 20:16:16作者: unuliha

这个配置文件会生成一个代理服务器,用于连接前端请求,向后端api服务器发送请求。

module.exports=[
  {
    "context": [],//string[]类型,每个元素代表一个路径后缀,多个前缀的路径,都用一个路径来代理,使用context属性,这个数组下所有路径都会用target路径来代理
    "target": PROXY_URL,//跨域跳转的目标地址
    "secure": false, //布尔值,表示是否验证SSL Certs,默认情况下,不接受运行在 HTTPS(超文本传输安全协议) 上,且使用了无效证书的后端服务器。
    "changeOrigin": true, //设置为true, 本地就会虚拟一个服务器接收你的请求并代你发送该请求,解决跨域问题
    "pathRewrite": {
      "^/api": "",//请求到 /api/xxx 现在会被代理到请求 target/xxx
      "bypass": function(req, res, proxyOptions) { 
        if (req.headers.accept.indexOf('html') !== -1) { 
          console.log('Skipping proxy for browser request.'); 
          return '/index.html'; 
        } // 有时你不想代理所有的请求。可以基于一个函数的返回值绕过代理
      },
    },
    "ws":true, //true / false,是否代理websockets
    "logLevel": "warn", // 'info' 日志级别。可以是'信息','警告','错误'或'沉默'。
  	} 
]

参考文档:
webpack中的代理配置详解
node-http-proxy官方文档