Node.js 在Angular 7中代理HTTP请求

Node.js 在Angular 7中代理HTTP请求,node.js,angular,Node.js,Angular,之前,我使用“proxy.conf.json”在Angular中代理http请求,效果很好。现在,我想使代理URL动态化,为此我创建了一个“proxy.conf.js”,如Angular Wiki()中所述,并添加了以下内容: const PROXY_CONFIG = [ { context: [ "/api/*" ], target: "https://example.com/", logL

之前,我使用“proxy.conf.json”在Angular中代理http请求,效果很好。现在,我想使代理URL动态化,为此我创建了一个“proxy.conf.js”,如Angular Wiki()中所述,并添加了以下内容:

    const PROXY_CONFIG = [
      {
        context: [
          "/api/*"
        ],
        target: "https://example.com/",
        logLevel: "debug",
        secure: false,
        changeOrigin: true
      },
      {
        context: [
          "/login/*"
        ],
        target: "https://example1.com/",
        logLevel: "debug",
        secure: false,
        changeOrigin: true
      }
  ]
  module.exports = PROXY_CONFIG;
"start-dev": "ng serve --proxy-config proxy.conf.js",
在“package.json”中,我添加了以下内容:

    const PROXY_CONFIG = [
      {
        context: [
          "/api/*"
        ],
        target: "https://example.com/",
        logLevel: "debug",
        secure: false,
        changeOrigin: true
      },
      {
        context: [
          "/login/*"
        ],
        target: "https://example1.com/",
        logLevel: "debug",
        secure: false,
        changeOrigin: true
      }
  ]
  module.exports = PROXY_CONFIG;
"start-dev": "ng serve --proxy-config proxy.conf.js",
但是,当我运行这个脚本“npm run start dev”时,它不会从“proxy.conf.js”文件中读取,尽管它说“proxy created”

url仍指向“”而不是向“”发出http请求


有人能告诉我这里是否遗漏了什么。

在代理配置中,上下文模式是
/login/*
,但是根据控制台输出的实际请求只是
/login
,没有后续组件

因此,此代理规则不匹配,并且开发服务器没有用于此的本地资源,因此使用404进行应答


您可以更改上下文或为代理配置中的
/login

添加第二个条目。上下文模式是
/login/*
,但是根据控制台输出的实际请求只是
/login
,没有后续组件

因此,此代理规则不匹配,并且开发服务器没有用于此的本地资源,因此使用404进行应答


您可以更改上下文或为
/login

添加第二个条目,它仍将指向localhost,但在控制台中,您应该注意到使用了什么代理,我猜不是这样的。当我使用proxy.conf.json文件时,我可以在控制台中看到代理url,但当我使用proxy.conf.json文件时却看不到。它是一个代理。因此浏览器对它一无所知:它将AJAX请求发送到localhost:4200,而开发服务器将请求转发到example.com,并将得到的响应发送到浏览器。上下文
/login/*
与请求
/login
不匹配我知道在控制台中我不会看到代理url,但在任何情况下,如果使用proxy.conf.json文件,它都会给出404错误,因为它可以正常工作。也许我错过了一些愚蠢的配置。它仍然会指向本地主机,但在控制台中,你们应该注意到使用了什么代理。我猜不是这样的。当我使用proxy.conf.json文件时,我可以在控制台中看到代理url,但当我使用proxy.conf.json文件时却看不到。它是一个代理。因此浏览器对它一无所知:它将AJAX请求发送到localhost:4200,而开发服务器将请求转发到example.com,并将得到的响应发送到浏览器。上下文
/login/*
与请求
/login
不匹配我知道在控制台中我不会看到代理url,但在任何情况下,如果使用proxy.conf.json文件,它都会给出404错误,因为它可以正常工作。也许我错过了一些愚蠢的配置。