webpack-dev-server如何設置反向代理解決跨域問題-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“webpack-dev-server如何設置反向代理解決跨域問題”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“webpack-dev-server如何設置反向代理解決跨域問題”這篇文章吧。

創(chuàng)新互聯(lián)建站于2013年成立,先為柳州等服務建站,柳州等地企業(yè),進行企業(yè)商務咨詢服務。為柳州企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

一、設置代理的原因

現(xiàn)在對前端開發(fā)的要求越來越高,并且隨著自動化以及模塊化的誕生,前后端開發(fā)模式越來越流行。后端只負責接口,前端負責數(shù)據(jù)展示、邏輯處理。但是前后端開發(fā)模式,有一個重要的問題,就是跨域問題。

 二、如何配置webpack的代理

webpack代理需要另外一個插件:webpack-dev-server 

webpack-dev-server配置代理非常的方便,只需要條件一個proxy屬性,然后配置相關的參數(shù)就可以了:

var webpack = require('webpack');
var WebpackDevServer = require("webpack-dev-server");
var path = require('path');
var CURRENT_PATH = path.resolve(__dirname); // 獲取到當前目錄
var ROOT_PATH = path.join(__dirname, '../'); // 項目根目錄
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 = {

  //項目的文件夾 可以直接用文件夾名稱 默認會找index.js ,也可以確定是哪個文件名字
  entry: {
    app: ['./src/js/index.js'],
    vendors: ['jquery', 'moment'], //需要打包的第三方插件
    // login:['./src/css/login.less']
  },

  //輸出的文件名,合并以后的js會命名為bundle.js
  output: {
    path: path.join(__dirname, "dist/"),
    publicPath: "http://localhost:8088/dist/",
    filename: "bundle_[name].js"
  },
  devServer: {
    historyApiFallback: true,
    contentBase: "./",
    quiet: false, //控制臺中不輸出打包的信息
    noInfo: false,
    hot: true, //開啟熱點
    inline: true, //開啟頁面自動刷新
    lazy: false, //不啟動懶加載
    progress: true, //顯示打包的進度
    watchOptions: {
      aggregateTimeout: 300
    },
    port: '8088', //設置端口號
    //其實很簡單的,只要配置這個參數(shù)就可以了
    proxy: {
      '/index.php': {
        target: 'http://localhost:80/index.php',
        secure: false
      }
    }
  } 
..........
};

上面實例中我們把本地的端口號設置為了:8088,如果這個時候接口放在了端口為80的服務器上,并且我們請求的接口url如下:http://localhost:80/index.php

 這個時候只需要在proxy使用正則表達式匹配/index.php,然后 匹配到 轉(zhuǎn)向target設置的目標接口;這個時候使用ajax請求接口就不要寫上目標接口的域名,只需要寫上index.php就可以了。

 $.ajax({
    type: 'GET',
    url: '/index.php',
    data: {},
    dataType: 'json',
    beforeSend: function () {
    },
    success: function (data) {

    },
    error: function (error) {

    }
  });

上面ajax請求的時候proxy 代理就會自動轉(zhuǎn)向target設置的接口路徑:http://localhost:80/index.php

以上是“webpack-dev-server如何設置反向代理解決跨域問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站名稱:webpack-dev-server如何設置反向代理解決跨域問題-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.muchs.cn/article12/cdjggc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、用戶體驗、靜態(tài)網(wǎng)站、Google網(wǎng)站營銷、網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設