配置koa2-proxy-middleware用于代理转的中间件。在使用koa2作为前后端分离的框架,工程当中的静态页面需要请求在其他域名下的java工程接口,由于同源策略的限制,在koa2工程下的静态资源只能通过node后端进行代理请求其他域名下的接口。(ngnix或者php等等都可以)
基础使用比网上其他KOA的代理都简单,直接上代码:
// 导入koa,和koa 1.x不同,在koa2中,我们导入的是一个class,因此用大写的Koa表示:
const Koa = require('koa');
const app = new Koa();
/* 代理配置 start */
const proxy = require('koa2-proxy-middleware'); //引入代理模块
const options = {
targets: {
// (.*) means anything
'/api/(.*)': {
target: 'http://test02.com/',
changeOrigin: true,
},
}
}
app.use(
proxy(options)
);
const bodyparser = require('koa-bodyparser')
app.use(bodyparser({
enableTypes: ['json', 'form', 'text']
}))
/* 代理配置 end */
// log request URL:
app.use(async (ctx, next) => {
console.log(`Process ${ctx.request.method} ${ctx.request.url}...`);
await next();
});
app.listen(3006);
console.log('app started at port 3006...');
完事,唯一注意中间件bodyparser一定要在代理注册后,不然会有一些意想不到的bug。
最后附上git地址 :https://github.com/sunyongjian/koa2-proxy-middleware/blob/master/README_CN.md