Angular CLI 端口轉發規則
Angular 版本:11
設置代理配置文件
-
在
npm
腳本命令中,手動指定代理文件"scripts":{ "start":"ng server --proxy-config proxy.conf.json -open" }
-
在 CLI 配置文件
angular.json
中爲serve
目標添加proxyConfig
選項:... "architect": { "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { "browserTarget": "your-application-name:build", "proxyConfig": "proxy.conf.json" }, ...
配置例子
target
代理目標地址secure
代理目標地址如果是https
應該設置爲true
,反之爲false
pathRewrite
重寫地址,例如pathRewrite: {'^/api': '/'}
將前綴/api
轉爲/
changeOrigin
將主機標頭的host
更改爲目標URL,有些後端會根據其值來判斷是否有效,可能需要通過設置true
logLevel
設置爲debug
可以終端顯示代理轉發的消息
-
全局代理
{ "*": { "target": "http://example.com", "changeOrigin": true } }
直接
*
全局代理 -
指定路徑進行代理
{ "/api": { "target": "http://example.com", "changeOrigin": true } }
注意必須以
/
開始。代理指定某請求路徑下所有的請求
{ "/api/*": { "target": "http://example.com", "changeOrigin": true } }
-
重寫請求路徑
{ "/api": { "target": "http://example.com", "pathRewrite": { "^/api": "" } } }
代理配置中指定如下的
pathRewrite
值,以移除路徑末尾的 "api" 部分。也可以進行替換操作。 -
一個代理設置,同時適配代理多個路徑
需要自行新建一個
js
文件,返回一個模塊參數進行設置。加載配置方式,同proxy.conf.json
const PROXY_CONFIG = [ { context: [ "/api1", "/api2", "/api3", ], target: "http://example.com", secure: false } ] module.exports = PROXY_CONFIG;