最近公司在嘗試先後端分離的開發模式,現有應用是java語言,要從中間拆除一個小的模塊來作先後端分離,工具上仍是jquery,只不過是流程和分工上的分離,不想在前端的機器上搭建一套java環境,就根據教程搭了一下轉發,讓本地能夠接上開發服務器聯調。javascript
npm init
複製代碼
npm install express connect-timeout http-proxy-middleware --save-dev
複製代碼
<!--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')}`);
});
複製代碼