node跨域轉發 express+http-proxy-middleware

最近公司在嘗試先後端分離的開發模式,現有應用是java語言,要從中間拆除一個小的模塊來作先後端分離,工具上仍是jquery,只不過是流程和分工上的分離,不想在前端的機器上搭建一套java環境,就根據教程搭了一下轉發,讓本地能夠接上開發服務器聯調。javascript

建立項目

npm init
複製代碼

安裝模塊

npm install express connect-timeout http-proxy-middleware  --save-dev
複製代碼

建立js文件

<!--proxy-server.js-->
const express = require('express');
const timeout = require('connect-timeout');
const proxy = require('http-proxy-middleware');
const app = express();

// 超時時間
const TIME_OUT = 30 * 1e3;

// 設置端口
app.set('port', '80');

// 設置超時 返回超時響應
app.use(timeout(TIME_OUT));
app.use((req, res, next) => {
  if (!req.timedout) next();
});


proxyOption = {
	target: 'http://localhost:8080',
	pathRewrite: {
        '^/api/' : '/'  // 重寫請求,api/解析爲/
    },
    changeOrigoin:true
};

// 靜態資源路徑
app.use('/', express.static('src/page'));

// 反向代理
app.use('/api/*', proxy(proxyOption));

// 監聽端口
app.listen(app.get('port'), () => {
  console.log(`server running @${app.get('port')}`);
});

複製代碼
相關文章
相關標籤/搜索