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

