webpack proxy 使用(代理的使用)
為什么要寫篇文章
這兩天的開發(fā)中遇到一些需要代理才能解決的問題, 在這里記錄一下, 方便以后的查閱.
為什么要用代理
跨域
在開發(fā)過程中, 我們的開發(fā)環(huán)境一般都是http:// localhost, 但是如果需要請求的數(shù)據(jù)不在本地, 那么我們就需要面對一個跨域請求的問題. 眾所周知, 因為瀏覽器的安全協(xié)議, 我們是無法直接進行跨域請求的. 代理就是為了解決這個問題, 當然了你也可以使用jsonp 和 nginx 反向代理.
如何進行代理
webpack 配置
在這里我默認為開發(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'//這個是被替換的目標地址 changeOrigin: true // 默認是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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js 獲取、清空input type="file"的值(示例代碼)
本篇文章主要介紹了js 獲取、清空input type="file"的值(示例代碼) 需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12JavaScript該如何學習 怎樣輕松學習JavaScript
JavaScript該如何學習?如何輕松學習JavaScript?這篇文章主要介紹了輕松學習JavaScript的方法2017-06-06在 JavaScript 中保留小數(shù)點后兩位的方法
在 JavaScript 中,有多種方法可以保留小數(shù)點后兩位,本文給大家分享比較常用的方法,文末給大家介紹了實現(xiàn)數(shù)據(jù)格式化保留兩位小數(shù)的多種方法,感興趣的朋友一起看看吧2023-10-10