簡體   English   中英

在Angular 7中代理HTTP請求

[英]Proxying HTTP requests in Angular 7

以前,我使用“ proxy.conf.json”代理Angular中的HTTP請求,效果很好。 現在,我想使代理網址動態化,為此我創建了一個“ proxy.conf.js”,如Angular Wiki( https://github.com/angular/angular-cli/blob/master/docs/ documentation / stories / proxy.md ),並添加了以下內容:

    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;

在“ package.json”中,添加了以下內容:

"start-dev": "ng serve --proxy-config proxy.conf.js",

但是,當我運行此腳本“ npm run start-dev”時,盡管顯示“代理已創建”,但它不會從“ proxy.conf.js”文件中讀取。

** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
10% building 3/3 modules 0 active[HPM] Proxy created: [ '/login/*' ]  ->  https://example1.com/

URL仍然指向“ http:// localhost:4200 / ”,而不是向“ https://example.com/ ”發出http請求。

在此處輸入圖片說明

有人可以讓我知道我是否想念這里。

在您的代理配置中,上下文模式為/login/*但是根據控制台輸出的實際請求只是/login ,沒有尾隨組件。

因此,此代理規則可能不匹配,並且開發服務器沒有與此相關的本地資源,因此使用404進行回答。

您可以更改上下文或為/login添加第二個條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM