WebPack系列之Proxy


 

背景

當我們直接去訪問https://m.weibo.cn/api/config/list時由於端口、域名的不同產生了跨域,無法請求到資源數據.

分析

WebPack中devServer的proxy代理其實是集成了http-proxy-middleware

var express = require('express');
var proxy = require('http-proxy-middleware');

var app = express();

app.use('/api', proxy({target: 'http://www.example.org', changeOrigin: true}));
app.listen(3000);

  配置proxy 過程中,option的配置相當與配置了http-proxy-middleware的api

proxy:{
      '/api': {
          target: 'https://m.weibo.cn',
          changeOrigin: true
      }
    }

  注意:changeOrigin是將基於名稱的虛擬托管網站的選項changeOrigin設置為true,如果不配置請求就會報404錯誤

當我們配置好代理后,就可以解決了跨域問題,訪問到數據資源

$.get('/api/config/list',function (data) {
        console.log(data);
    })

  

get請求打印出數據如下:

 如何想在控制台打印消息記錄則添加配置項 logLevel: 'debug',同時當訪問的接口需要先登錄,可以通過添加配置項header設定cookies進行身份確認,最終對接口的訪問.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM