angular proxy 配置

在項(xiàng)目文件夾下創(chuàng)建proxy.config.json文件:

{
  "/api": {
    "target": "http://api-dev..com",
    "logLevel": "debug",
    "changeOrigin": true,
    "secure": false,
    "pathRewrite": {
      "^/api": ""
    }
  },
  "/api/v1": {
    "target": "http://api-dev..com/v1",
    "logLevel": "debug",
    "changeOrigin": true,
    "secure": false,
    "pathRewrite": {
      "^/api/v1": ""
    }
  },
  "/api/common/v1": {
    "target": "http://api-dev..com/api/common/v1",
    "logLevel": "debug",
    "changeOrigin": true,
    "secure": false,
    "pathRewrite": {
      "^/api/common/v1": ""
    }
  }
}

調(diào)用接口:

const url = "http://localhost:4200/api/common/v1/xxxx"
//在調(diào)用的時(shí)候請(qǐng)求會(huì)被代理到:http://api-dev..com/api/common/v1/xxxx
this.http.get(url)   .then(response => {
  //邏輯處理
}).catch(error=>{
 //邏輯處理
});

package.json 配置:

"start":  "ng serve --host 0.0.0.0  --proxy-config proxy.config.json ",

運(yùn)行代碼:

npm run start

擴(kuò)展 - 環(huán)境配置

environments 文件夾下創(chuàng)建environment.local.ts文件:

export const environment = {
  production: false,
  BASE_COMMON_URL:"http://localhost:4200/api/common/v1",
  BASE_URL:"http://localhost:4200/api/v1",
  BASE_API:"http://localhost:4200/api",
};

angular.json配置

{
  ...//省略
  "projects": {
    "your-project-name": {
      ...//省略
      "architect": {
        "build": {
          ...//省略
          "configurations": {
            "production": {
                  ...//省略
              },
            "local": {//增加代碼
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.local.ts"
                }
              ]
            }
          }
        },
        "serve": {
          ...//省略
          "configurations": {
            "production": {
              "browserTarget": "new-m2-frontend:build:production"
            },
            "local": {//增加代碼
              "browserTarget": "your-product-name:build:local"
            }
          }
        },
      ...//省略
}

package.json

 "proxy":  "ng serve --host 0.0.0.0  --proxy-config proxy.config.json --configuration=local",

運(yùn)行代碼:

npm run proxy

這樣你的修改對(duì)其他人的影響就降到最低了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 工作空間的配置文件用途:angular.json:為工作區(qū)中的所有項(xiàng)目指定CLI的默認(rèn)配置,包括CLI要用到的構(gòu)建...
    我不傻_cyy閱讀 403評(píng)論 0 0
  • ## 1. 說明: github: https://github.com/angular/angular-cli ...
    程序猿吳閱讀 484評(píng)論 0 0
  • 一 Angular CLI 是啥 Angular CLI 是一個(gè)命令行接口(Angular Command ...
    tuacy閱讀 16,385評(píng)論 0 2
  • 整體目錄結(jié)構(gòu) 一級(jí)目錄(介紹主要的,我們會(huì)接觸到的) node_modules 第三方依賴包存放目錄。 src 應(yīng)...
    天降男神閱讀 1,406評(píng)論 0 1
  • 一、flux 1.介紹 flux和react都是facebook推出的產(chǎn)品 它的主要作用是在大型的react項(xiàng)目中...
    誩先生閱讀 1,224評(píng)論 0 0

友情鏈接更多精彩內(nèi)容