2017-10-10 66 views
0

我的角CLI版本是1.4.4 ,我按照建設這裏設置後端代理: How to set backend proxy with angular-cli角CLI:無法設置代理

所以我生成一個名爲proxy.conf.json文件旁邊的package.json,內容是:

{ 
    "/api": { 
    "target": "http://localhost:8080", 
    "secure": false 
    } 
} 

然而,當我鍵入命令ng serve --proxy-config proxy.conf.json,我沒有看到任何提示說代理已定,輸出爲: startup info 正如你所看到的,它只有webpack的信息編譯,沒有關於[HPM] Proxy created: /api -> http://localhost:8080的信息已經輸出。

現在我有一個API調用,API路線是/api/authenticate。我想它應該重定向到http://localhost:8080/api/authenticate,但它沒有,仍然指向http://localhost:4200/api/authenticate,當然它返回404沒有找到。誰能告訴我爲什麼?

回答

0

我有同樣的問題,我通過在JSON中添加「pathRewrite」鍵來解決問題。

因此,請將您的代理配置文件更改爲此。

{ 
"/api": { 
"target": "http://localhost:8080", 
"secure": false, 
"pathRewrite": {"^/api" : "/api"} 
} 
} 

是的,在編制的WebPack沒有表現出我的代理配置任何信息也是如此。

編輯1:如果你還沒有得到它,檢查此鏈接 Angular-CLI proxy to backend doesn't work

而且使用「服務」,而不是「開始」運行服務器。例如

NG服務--proxy-配置proxy.conf.json

+0

還沒工作,我...什麼是你的角CLI版本? – ahwyX100

+0

現在我添加了一個主要討論這個問題的鏈接。希望這可以幫助你。 –

+0

忘了提及我正在使用Angular版本4.1.3和cli版本1.0.4和編譯器cli版本4.1.3 –