第一步: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