nodejs+express基於http-proxy-middleware實現前端跨域問題

第一步:cmd窗口進入nodejs項目目錄下:前端

執行以下命令:node

$ npm install --save-dev http-proxy-middlewareexpress

讓後在server.js文件中npm

寫入以下:api

const express = require('express');
const app = express();
/***************************** 開始啓動反向代理 **********************************/
var proxy = require('http-proxy-middleware');//引入nodejs的反向代理模塊
// proxy middleware options
var options = {
    target: 'http://127.0.0.1:9090', // target host
    changeOrigin: true,               // needed for virtual hosted sites
};
// create the proxy (without context)
var exampleProxy = proxy('/api-sso/*',options);
app.use(exampleProxy);
/***************************** 開始啓動反向代理 **********************************/

/**************************** 開啓服務監聽 ******************************/
app.listen('3000', function() {
    console.log('啓動項目mpmdFront,端口:3000');
});

舉例:前端爲服務器地址爲127.0.0.1:3000,其中如要直接訪問http://127.0.0.1:9090/api-sso/*的地址資源就會出現跨域問題,跨域

此配置var exampleProxy = proxy('/api-sso/*',options);就是將/api-sso/*訪問資源代理訪問到http://127.0.0.1:9090/api-sso/*的地址服務器中去。服務器

ajxa調用以下:app

以上的代理配置就會將http://127.0.0.1:3000/api-sso/*的請求,轉達到http://127.0.0.1:9090/api-sso/*服務器上去。以達到一個前端跨域解決方法。裏面的options詳細配置ui

可參考官網:https://www.npmjs.com/package/http-proxy-middlewareurl

 

其中options爲參數選項:

target:爲要代理的目標url

相關文章
相關標籤/搜索