Angular4业力代理通配符

我在服务器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},

]

(您可能需要调整路径以适合您所需的布局;例如,我的s​​pecs文件夹下有我的假api,所以上面的所有伪api路径部分实际上是我的项目中的specs / fake-api,但是你得到图片).

点赞