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')}`);
});

复制代码
相关文章
相关标签/搜索