vue中的proxyTable反向代理(親測有用)
proxyTable反向代理
proxyTable的設(shè)置網(wǎng)上有的是,以前也沒管過,但新公司的項目需要用到,所以就徹底研究一下,結(jié)果繞了好大的彎子!
注:每次設(shè)置完proxyTable,請一定要重啟,刷新不好使 npm run dev!
開始前,請勞記上面操作,我就在這繞了很大的彎,一直以為頁面刷新就行了,但是,webpack好像很特別的存在一樣,它不執(zhí)行。好了,開始配置:
1.打開vue項目->config->index.js
并找到proxyTable屬性
proxyTable: { '/api': { // '/api':匹配項 target: 'http://192.168.31.167:8091', // 接口的域名 // secure: false,// 如果是https接口,需要配置這個參數(shù) changeOrigin: true, // 如果接口跨域,需要進行這個參數(shù)配置 pathRewrite: { // 如果接口本身沒有/api需要通過pathRewrite來重寫了地址 '^/api': '/' } } }
說明:具體如何跨域的,請自行查找
2.打開一個vue頁面
設(shè)置一個按鈕,和一個方法,注意請求url寫法
http://192.168.31.167:8091/listUsers,這是我在本機用node.js寫的一個簡單的get請求,至于測試API,自行解決。
‘/api/listUsers’
/api 相當(dāng)于 http://192.168.31.167:8091
webpack,會自動幫你轉(zhuǎn)過去。
handleTest() { let _this = this; //axios被掛到vue上了,做個全局 _this.$axios.get('/api/listUsers') .then(function(response) { console.log(response); }) .catch(function(error) { console.log(error); }); },
3.npm run dev
去查看你的頁面,并點擊按鈕
提示:跨域開發(fā)時,有兩個選擇
- 后臺把跨條件設(shè)置允許,具體實現(xiàn)問你的后臺。那么前臺就正常訪問即可。(最簡單,最暴力,但對于后臺來說不安全)
- 如果后臺不設(shè)置,那前臺必須得設(shè)置跨配置,也就是proxyTable配置。具體原理自己去搜webpack的proxy配置。
- 一定要切記重啟,npm run dev!!!
反向代理的實現(xiàn)原理
實現(xiàn)原理
反向代理需要用到nginx。反向代理是在服務(wù)器端進行處理。首先修改hosts文件,將域名指向開發(fā)者的電腦本身,把自己偽裝成服務(wù)端,再通過nginx對不同的請求進行轉(zhuǎn)發(fā),把靜態(tài)資源指向開發(fā)者本地電腦的資源,將接口指向?qū)嶋H的服務(wù)器。
可以理解為把飯店設(shè)置在了黑社會的樓下,去樓下買醬排骨飯的時候,飯店米飯自己做,醬排骨則偷偷跑去別的飯店買。
程序運行過程
瀏覽器訪問頁面,假設(shè)訪問淘寶頁面:taobao.com/index.html
taobao.com域名解析先經(jīng)過hosts文件配置,發(fā)現(xiàn)taobao.com域名指向127.0.0.1,則向本機發(fā)起請求。
nginx接收到taobao.com/index.html請求,根據(jù)nginx的配置,將把這個請求轉(zhuǎn)發(fā)給127.0.0.1:3000。
瀏覽器運行index.html文件,發(fā)起taobao.com/api/getNew請求
nginx接收到taobao.com/api/getNew請求請求,根據(jù)nginx的配置,將把這個請求轉(zhuǎn)發(fā)給真正的淘寶服務(wù)器中。
淘寶服務(wù)器將數(shù)據(jù)返回給nginx,再返回給瀏覽器執(zhí)行。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于vue2框架的機器人自動回復(fù)mini-project實例代碼
本篇文章主要介紹了基于vue2框架的機器人自動回復(fù)mini-project實例代碼,具有一定的參考價值,有興趣的可以了解一下2017-06-06使用Electron打包vue文件變成exe應(yīng)用程序的全過程
這篇文章主要給大家介紹了使用Electron打包vue文件變成exe應(yīng)用程序的全過程,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-01-01Element-ui el-tree新增和刪除節(jié)點后如何刷新tree的實例
這篇文章主要介紹了Element-ui el-tree新增和刪除節(jié)點后如何刷新tree的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Vue在chrome44偶現(xiàn)點擊子元素事件無法冒泡的解決方法
這篇文章主要給大家介紹了關(guān)于Vue在chrome44偶現(xiàn)點擊子元素事件無法冒泡的解決方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12vue2從數(shù)據(jù)變化到視圖變化之nextTick使用詳解
這篇文章主要為大家介紹了vue2從數(shù)據(jù)變化到視圖變化之nextTick使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09解決vue3中from表單嵌套el-table時填充el-input,v-model不唯一問題
這篇文章主要給大家介紹一下如何解決vue3中from表單嵌套el-table時填充el-input,v-model不唯一問題,文中有相關(guān)的解決方法,通過代碼示例介紹的非常詳細,需要的朋友可以參考下2023-07-07