解释proxy.config.json功能的角度5

时间:2018-07-01 17:40:04

标签: angular

"/api/*": {
  "target": "https://localhost:8000/api",
  "secure": false,
  "logLevel": "debug",
  "pathRewrite": {
    "^/api": ""
  },
  "changeOrigin": true
}

请在此代码段中提供每个功能的详细用法

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

   "/api/*": {
      "target": "https://localhost:8000",
      "secure": false,
      "logLevel": "debug",
      "pathRewrite": {
        "^/api": ""
      },
      "changeOrigin": true
    }
  1. "api/*"
    您在应用程序中对/api/的所有请求都将转发到 target": "https://localhost:8000/api
  2. "secure": false,
    在HTTPS上运行的后端服务器 默认情况下,无效证书将不被接受。如果你想, 您需要设置secure: false

  3. "logLevel": "debug"
    帮助调试您的代理是否 工作正常,您还可以将logLevel选项添加为 如下:logLevel的可能选项包括debuginfowarnerrorsilent(默认为info)。

  4. "pathRewrite": { "^/api": "" },    pathRewrite设置指出,如果路径与^/api相匹配(即,它以/ api开头),则用空字符串重写该部分(即,将其从路径中删除),因此对https://localhost:8000/api的所有请求都将转到https://localhost:8000

  5. "changeOrigin": true:如果您需要访问不在localhost上的后端,或者在后端上使用某些虚拟代理(例如使用Apache2配置的虚拟代理)时,请将其设置为true。 p>

  6. `目标:
此软件包中提供的

代理options来自基础node-http-proxy

代理支持可能会帮助您在开发阶段摆脱一些 CORS 异常,但是客户端应用程序无法对这些异常做很多事情服务器必须配置为接受应用程序的请求。
I want to add CORS support to my server

注意proxy配置用于通过ng serve运行开发服务器时代理调用。运行ng build后,您将负责Web服务器及其配置。

答案 1 :(得分:0)

来自 docs

  

使用webpack开发服务器中的代理支持,我们可以劫持   某些网址,并将其发送到后端服务器。我们通过传递   一个文件--proxy-config

     

假设我们有一个在http://localhost:3000/api上运行的服务器,我们希望   对http://localhost:4200/api的所有呼叫都将转到该服务器。

您还可以从这里https://itnext.io/angular-cli-proxy-configuration-4311acec9d6f

了解为什么我们需要这样做