在項(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ì)其他人的影響就降到最低了