1. 程式人生 > >node.js的反向代理,解決瀏覽器的跨域問題

node.js的反向代理,解決瀏覽器的跨域問題

一、背景

        在實際專案中,因為我們大家都不是獨立開發,而是和很多人一起合作。所以在開發階段的時候,經常要呼叫別人的介面,這就自然產生了跨域問題。我目前已知的方法是谷歌瀏覽器可以解決跨域問題,在實際專案中我也是這麼操作的,但是這樣很麻煩,所以就用了下面這個方法,可以完美的解決瀏覽區的跨域問題。

二、解決方法

第一步:先找到自己專案裡面的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

三、優化以及聯絡我

        如果大家有什麼疑問或建議可以隨時聯絡我哦~