webpack proxy 使用(代理的使用)
為什么要寫篇文章
這兩天的開發(fā)中遇到一些需要代理才能解決的問題, 在這里記錄一下, 方便以后的查閱.
為什么要用代理
跨域
在開發(fā)過(guò)程中, 我們的開發(fā)環(huán)境一般都是http:// localhost, 但是如果需要請(qǐng)求的數(shù)據(jù)不在本地, 那么我們就需要面對(duì)一個(gè)跨域請(qǐng)求的問題. 眾所周知, 因?yàn)闉g覽器的安全協(xié)議, 我們是無(wú)法直接進(jìn)行跨域請(qǐng)求的. 代理就是為了解決這個(gè)問題, 當(dāng)然了你也可以使用jsonp 和 nginx 反向代理.
如何進(jìn)行代理
webpack 配置
在這里我默認(rèn)為開發(fā)環(huán)境的配置
- 找到 webpack.config.js 文件
- 在 devServer 對(duì)象下面加入以下代碼
proxy: { '/index':{ // 這個(gè)是你要替換的位置 /** 比如你要講http://localhost:8080/index/xxx 替換成 http://10.20.30.120:8080/sth/xxx * 那么就需要將 index 前面的值替換掉, 或者說(shuō)是替換掉根地址, *你可能發(fā)現(xiàn)了index也是需要替換的, 沒錯(cuò), 我會(huì)在后續(xù)操作中處理. */ target: 'http://10.20.30.120:8080'//這個(gè)是被替換的目標(biāo)地址 changeOrigin: true // 默認(rèn)是false,如果需要代理需要改成true pathRewrite:{ '^/index' : '/' //在這里 http://localhost:8080/index/xxx 已經(jīng)被替換成 http://10.20.30.120:8080/ }} } // 然后在你發(fā)起請(qǐng)求的js文件中的地址需要忽略http://10.20.30.120:8080/ //比如 demo.js axios.post({ url:'http://10.20.30.120:8080/sth/xxx'// 需要替換成下面的地址 url:'/sth/xxx' } )
原理
實(shí)際上代理是使用了是利用http-proxy-middleware這個(gè)插件完成的, 有興趣的話可以去搜一下,在這里我就不多做解釋了.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js 獲取、清空input type="file"的值(示例代碼)
本篇文章主要介紹了js 獲取、清空input type="file"的值(示例代碼) 需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12JavaScript該如何學(xué)習(xí) 怎樣輕松學(xué)習(xí)JavaScript
JavaScript該如何學(xué)習(xí)?如何輕松學(xué)習(xí)JavaScript?這篇文章主要介紹了輕松學(xué)習(xí)JavaScript的方法2017-06-06在 JavaScript 中保留小數(shù)點(diǎn)后兩位的方法
在 JavaScript 中,有多種方法可以保留小數(shù)點(diǎn)后兩位,本文給大家分享比較常用的方法,文末給大家介紹了實(shí)現(xiàn)數(shù)據(jù)格式化保留兩位小數(shù)的多種方法,感興趣的朋友一起看看吧2023-10-10用javascript實(shí)現(xiàn)讀取txt文檔的腳本
用javascript實(shí)現(xiàn)讀取txt文檔的腳本...2007-07-07刷新頁(yè)面的幾種方法小結(jié)(JS,ASP.NET)
本篇文章只要是對(duì)刷新頁(yè)面的幾種方法進(jìn)行了詳細(xì)的總結(jié)介紹,包括JS與ASP.NET。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01