【发布时间】:2020-06-09 13:36:41
【问题描述】:
当通过根 url (localhost:4200/) 执行后端调用时,Mirage 确实匹配定义的路由,但是当我们在子页面上执行后端调用时,例如:localhost:4200/process,它将不起作用。在调试海市蜃楼代码时,它会尝试通过在要匹配的 URL 前加上“进程”来进行匹配。 因此,如果 BE 调用是“api/portal/affiliates/”,它将尝试匹配“process/api/portal/affiliates/”,但由于不存在匹配路径而失败。知道如何解决这个问题。
我们在 Angular 9 中使用 mirage.js。 roue mirage.js 配置:
routes() {
this.passthrough();
this.namespace = '/api/portal;
this.get('affiliates', (schema, request) => {
return schema.db.affiliates;
})
}
【问题讨论】:
-
嗯 - 我从来没有听说过 Mirage 的处理程序路径会受到当前窗口位置的影响。你确定不是你的应用程序在打不同的电话吗?另外,尝试在
this.get('/affiliates')上使用前导斜杠,或者在命名空间上使用尾随斜杠? -
感谢@SamSelikoff,我们也尝试使用前导斜线。该应用程序没有发出不同的调用,当我们在没有海市蜃楼的情况下运行它时会看到。知道为什么它使用窗口位置吗? (我看到的所有工作示例都只使用根 url)
-
老实说,我想不出任何 :( 如果您上传一个重现该问题的项目,我很乐意看看!
标签: angular ember-cli-mirage miragejs