我在服务器myserver.com:4567/api上运行了我的api,我希望我的角应用程序的每个请求都匹配到/ api / *时.我已经使用proxy-conf.json设置了它,它非常适合服务.但是我想用业力测试我的应用程序,它似乎不接受代理的通配符.
如何在不提供每个可能端点的业力的情况下解决这个问题
我要这个:
proxies: {
"/api/*": "http://mybackend.com:4567"
}
而不是这个:
proxies: {
"/api/1": "http://mybackend.com:4567/api/1"
"/api/2": "http://mybackend.com:4567/api/2"
"/api/3": "http://mybackend.com:4567/api/3"
"/api/4": "http://mybackend.com:4567/api/4"
}
最佳答案 正如您现在已经想到的那样,Karma不提供代理条目的通配符.但是,当我们查看代理是如何完成的时,事实证明您可以使用每个端点的文件和一个代理条目伪造您的端点:
代理人:{
“/ api”:“/ base / fake-api”
}
然后你有一个包含内容的fake-api文件夹,如下所示:
> fake-api
>某些其他路线
>其他结果-1
>其他结果-2
> 1
> 2
> 3
> 4
我有子文件夹和包含结果的文件,我想从api中伪造.我一直在一个项目中做到这一点,以克服同样的问题.你还需要一个像这样的文件条目:
文件:
…
{pattern:“fake-api / ** / *”,包括:false,serve:true,watched:false},
…
]
(您可能需要调整路径以适合您所需的布局;例如,我的specs文件夹下有我的假api,所以上面的所有伪api路径部分实际上是我的项目中的specs / fake-api,但是你得到图片).