const Koa = require("koa");
const proxy = require('koa-better-http-proxy');
const app = new Koa();
const proxy_web = proxy("http://localhost:17900",{});
const proxy_list = {
foo:"http://foo.com",
bar:"http://bar.com",
noop:"http://noop.com",
nothing:"http://nothing.com",
}
const proxy_middle_ls = {};
Object.keys(proxy_list).forEach(key=>{
proxy_middle_ls[key] = proxy(proxy_list[key],{})
});
app.use((ctx,next)=>{
let path = ctx.path;
let subDomain = "";
if(/^\/([^\/]+)/.test(path)){
subDomain = RegExp["$1"];
if(!proxy_list[subDomain]){
subDomain = "";
}
}else{
subDomain = ""
}
ctx.response.set({
"Access-Control-Allow-Origin":"*"
});
if(subDomain){
path = path.replace("/" + subDomain,"");
ctx.path = path;
ctx.request.path = path;
console.log(path);
return proxy_middle_ls[subDomain](ctx,next);
}else{
return proxy_web(ctx,next);
}
})
app.listen(18000);
跨域調試問題臨時解決方案
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...