這篇文章主要為大家展示了“webpack-dev-server如何設(shè)置反向代理解決跨域問題”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“webpack-dev-server如何設(shè)置反向代理解決跨域問題”這篇文章吧。
創(chuàng)新互聯(lián)建站于2013年成立,先為柳州等服務(wù)建站,柳州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為柳州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。一、設(shè)置代理的原因
現(xiàn)在對(duì)前端開發(fā)的要求越來越高,并且隨著自動(dòng)化以及模塊化的誕生,前后端開發(fā)模式越來越流行。后端只負(fù)責(zé)接口,前端負(fù)責(zé)數(shù)據(jù)展示、邏輯處理。但是前后端開發(fā)模式,有一個(gè)重要的問題,就是跨域問題。
二、如何配置webpack的代理
webpack代理需要另外一個(gè)插件:webpack-dev-server
webpack-dev-server配置代理非常的方便,只需要條件一個(gè)proxy屬性,然后配置相關(guān)的參數(shù)就可以了:
var webpack = require('webpack'); var WebpackDevServer = require("webpack-dev-server"); var path = require('path'); var CURRENT_PATH = path.resolve(__dirname); // 獲取到當(dāng)前目錄 var ROOT_PATH = path.join(__dirname, '../'); // 項(xiàng)目根目錄 var MODULES_PATH = path.join(ROOT_PATH, './node_modules'); // node包目錄 var BUILD_PATH = path.join(ROOT_PATH, './dist'); // 最后輸出放置公共資源的目錄 var HtmlWebpackPlugin = require('html-webpack-plugin'); var ExtractTextPlugin = require("extract-text-webpack-plugin"); var CopyWebpackPlugin = require('copy-webpack-plugin'); module.exports = { //項(xiàng)目的文件夾 可以直接用文件夾名稱 默認(rèn)會(huì)找index.js ,也可以確定是哪個(gè)文件名字 entry: { app: ['./src/js/index.js'], vendors: ['jquery', 'moment'], //需要打包的第三方插件 // login:['./src/css/login.less'] }, //輸出的文件名,合并以后的js會(huì)命名為bundle.js output: { path: path.join(__dirname, "dist/"), publicPath: "http://localhost:8088/dist/", filename: "bundle_[name].js" }, devServer: { historyApiFallback: true, contentBase: "./", quiet: false, //控制臺(tái)中不輸出打包的信息 noInfo: false, hot: true, //開啟熱點(diǎn) inline: true, //開啟頁面自動(dòng)刷新 lazy: false, //不啟動(dòng)懶加載 progress: true, //顯示打包的進(jìn)度 watchOptions: { aggregateTimeout: 300 }, port: '8088', //設(shè)置端口號(hào) //其實(shí)很簡(jiǎn)單的,只要配置這個(gè)參數(shù)就可以了 proxy: { '/index.php': { target: 'http://localhost:80/index.php', secure: false } } } .......... };
上面實(shí)例中我們把本地的端口號(hào)設(shè)置為了:8088,如果這個(gè)時(shí)候接口放在了端口為80的服務(wù)器上,并且我們請(qǐng)求的接口url如下:http://localhost:80/index.php
這個(gè)時(shí)候只需要在proxy使用正則表達(dá)式匹配/index.php,然后 匹配到 轉(zhuǎn)向target設(shè)置的目標(biāo)接口;這個(gè)時(shí)候使用ajax請(qǐng)求接口就不要寫上目標(biāo)接口的域名,只需要寫上index.php就可以了。
$.ajax({ type: 'GET', url: '/index.php', data: {}, dataType: 'json', beforeSend: function () { }, success: function (data) { }, error: function (error) { } });
上面ajax請(qǐng)求的時(shí)候proxy 代理就會(huì)自動(dòng)轉(zhuǎn)向target設(shè)置的接口路徑:http://localhost:80/index.php
以上是“webpack-dev-server如何設(shè)置反向代理解決跨域問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站名稱:webpack-dev-server如何設(shè)置反向代理解決跨域問題-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.bm7419.com/article12/cdjggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、用戶體驗(yàn)、靜態(tài)網(wǎng)站、Google、網(wǎng)站營(yíng)銷、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容