一、配置
devServer:{
contentBase:'./',
proxy:{
// 當你請求是以/api開頭的時候,代理會訪問到http://localhost:3000
// 例如:
// /api/users 則訪問到 http://localhost:3000/api/users
// 我們真實的服務器接口是沒有/api的
"/api":{
target:"http://localhost:3000",
pathRewrite:{"^/api":""}
}
}
}
二、原理
如果你要用代理,首先你得有一個標識,告訴他你這個連接要用代理。不然的話, 可能你的 html, css, js這些靜態資源都跑去代理.。所以我們只要接口用代理,靜態文件用本地。
"/api": {},就是告訴node,我接口只要是"/api"開頭的才用代理。所以你的接口就要這么寫 /api/xx/xx. 最后代理的路徑就是 http://xxx.xx.com/api/xx/xx。
可是我正確的接口路徑里面沒有/api,所以就需要pathRewrite,用"^/api" 把前綴去掉,這樣既能有正確標識,又能在請求接口的時候去掉api。