node.js的反向代理,解決瀏覽器的跨域問題
阿新 • • 發佈:2019-01-27
一、背景
在實際專案中,因為我們大家都不是獨立開發,而是和很多人一起合作。所以在開發階段的時候,經常要呼叫別人的介面,這就自然產生了跨域問題。我目前已知的方法是谷歌瀏覽器可以解決跨域問題,在實際專案中我也是這麼操作的,但是這樣很麻煩,所以就用了下面這個方法,可以完美的解決瀏覽區的跨域問題。
二、解決方法
第一步:先找到自己專案裡面的package.json,然後在和這個專案同級的地方開啟dos視窗,可以按住shift+滑鼠右鍵,然後選擇“在此處開啟命令列”“在此處開啟Powershell視窗”,安裝了git的也可以選擇“git bash here”, 既然你看到這篇文章,那我覺得這些你應該能看懂。輸入:
npm install --save http-proxy-middleware
第二步:開啟你的專案的入口檔案,預設命名是index.js,你的命名可能是app.js等等諸如此類,然後在裡面加上如下程式碼:
const proxy = require('http-proxy-middleware');
const apiProxy = proxy({target: 'http://sit.sme.vip', changeOrigin: true, pathRewrite:function (path, req) { return path.replace('/api', ''); } });
app.use('/api*',apiProxy);
說明: 1、這裡的app 是指下面這個 const express = require('express'); const app = express();2、這裡的target填的引數是公司測試環境的地址,你可以填後端的地址。
第三步: 介面地址前面的字首由 http://sit.sme.vip 改為 /api
三、優化以及聯絡我
如果大家有什麼疑問或建議可以隨時聯絡我哦~