說明:這里的vue代理是指用vue靜態服務器做代理,使用的是 http-proxy-middleware 這個模塊(這個模塊相當于是node.js的一個插件),
版本: vue-cli 3.0以上
修改檔案位置:根目錄下的vue.config.js
代碼:
devServer: { proxy: { '/api': { target: 'http://192.168.123.123:8080', // 后臺介面地址 ws: true, //如果要代理 websockets,配置這個引數 secure: false, // 如果是https介面,需要配置這個引數 changeOrigin: true, //是否跨域 pathRewrite:{ // 重寫路徑 '^/api':'' } } } }
vue專案里,我的所有介面的地址都是/api開頭的,所以前面用 ‘/api’,如果我的開頭是/pc開頭,但是介面沒有/pc這時候會用到路徑重寫,下面有介紹,
當node服務器 遇到 以 ‘/api’ 開頭的請求,就會把 target 欄位里的值加上,那么請求地址就為變成了http://192.168.123.123:8080/api/xxxx/xxx
pathRewrite 表示的意思是 把/api 替換為 空,那么請求地址就為 http://192.168.123.123:8080/xxxx/xxx(如果是/pc,就把pc替換為空)
注意2:在本地查看地址的時候,地址不會更改,還是http://localhost:8090/api/xxx/xxxxx,看起來/api和target的地址沒有替換,但實際已經替換了,
剛接觸的對pathRewrite不是很懂,把他的中文意思理解為重新寫了/api的路徑,呼叫時就不加/api了,這個理解是錯誤的,他其實就是吧/api替換為空,如果還報錯就查一查看看是不是提交的方法問題,比如 get 和 post 沒區分開,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/500459.html
標籤:JavaScript
上一篇:js 關于console物件
