mirage.js 不适用于 Angular 中的子 url 路径(仅适用于根路径)

     2023-02-23     100

关键词:

【中文标题】mirage.js 不适用于 Angular 中的子 url 路径(仅适用于根路径)【英文标题】:mirage.js will not work with sub url paths (only with root path) in angular 【发布时间】: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) 老实说,我想不出任何 :( 如果您上传一个重现该问题的项目,我很乐意看看! 【参考方案1】:

我正在 Angular-9 中集成 mirage。

我也面临同样的问题。每次在包含某些路由的任何 URL 上刷新页面时,都会引发 mirage 找不到路由的错误。

问题不在于海市蜃楼。问题是我如何调用 API。

而不是做

this.http.get('api/portal')

尝试如下操作

this.http.get('/api/portal')

在调用 API 时添加 /(正斜杠)。 这解决了我的问题。如果仍然无法解决您的问题,请告诉我。

【讨论】:

异步验证器不适用于 Angular 中的模板驱动表单

】异步验证器不适用于Angular中的模板驱动表单【英文标题】:AsyncValidatornotworkingwithTemplatedrivenFormsinAngular【发布时间】:2017-10-1801:31:52【问题描述】:我为我的模板驱动表单创建了一个异步验证器。importDirective,forwardReffrom"@angular... 查看详情

模型绑定不适用于angular2中的选择[重复]

】模型绑定不适用于angular2中的选择[重复]【英文标题】:modelbindisnotworkingwithselectinangular2[duplicate]【发布时间】:2016-08-1410:18:06【问题描述】:我正在尝试设置下拉菜单的默认值,我为模型设置了默认值但它没有更新选择请看http... 查看详情

必需属性不适用于Angular Js中的文件输入

】必需属性不适用于AngularJs中的文件输入【英文标题】:RequiredattributeNotworkingwithFileinputinAngularJs【发布时间】:2013-04-1821:38:58【问题描述】:我的表单中有一个文件上传控件。我正在使用AngularJS。当我输入所需的属性来验证文件... 查看详情

表单验证不适用于 Ionic 2 中的 Angular 2 FormBuilder

】表单验证不适用于Ionic2中的Angular2FormBuilder【英文标题】:FormvalidationisnotworkingwithAngular2FormBuilderinIonic2【发布时间】:2017-02-0523:45:01【问题描述】:我正在构建一个Ionic2(打字稿)应用程序。在复选框(ion-checkbox标记)中的简... 查看详情

PhantomJS 不适用于 Angular2 项目中的 Karma

】PhantomJS不适用于Angular2项目中的Karma【英文标题】:PhantomJSdoesnotworkwithKarmainAngular2project【发布时间】:2017-03-0800:33:30【问题描述】:我使用angularcli(1.0.0-rc1.0.0)创建了一个开箱即用的项目。然后我安装了PhantomJS插件(npminstallkarma... 查看详情

ngrok 不适用于浏览器中的路径(Angular Webserver)

】ngrok不适用于浏览器中的路径(AngularWebserver)【英文标题】:ngrokdoesn\'tworkwithpathinbrowser(AngularWebserver)【发布时间】:2021-03-2205:37:22【问题描述】:我目前正在使用Angular开发一个网站,并且我正在使用Apache2将它托管在我的Raspbe... 查看详情

Angular 7 TestBed.overrideProvider 不适用于 ActivateRoute

】Angular7TestBed.overrideProvider不适用于ActivateRoute【英文标题】:Angular7TestBed.overrideProviderdoesnotworkforActivateRoute【发布时间】:2019-04-2623:18:25【问题描述】:我正在使用带有Jest的Angular7,并且正在模拟组件的提供程序。很多时候,我... 查看详情

angular 2 [innerHTML] 在 html 内渲染(不适用于 angular 2)[重复]

】angular2[innerHTML]在html内渲染(不适用于angular2)[重复]【英文标题】:angular2[innerHTML]renderinsidehtml(notworkingonangular2)[duplicate]【发布时间】:2017-08-2519:02:51【问题描述】:我正在使用Angular2,我尝试将我在变量action.render中的文本呈... 查看详情

Boostrap 4 Modal 不适用于 Angular 2

】Boostrap4Modal不适用于Angular2【英文标题】:Boostrap4ModalnotworkingonAngular2【发布时间】:2018-02-1001:41:22【问题描述】:我尝试使用https://v4-alpha.getbootstrap.com/components/modal/中的一个示例,向我的导航栏添加一个模式,但是单击时没有... 查看详情

符号 ::after css,不适用于 Angular 5 的指令

】符号::aftercss,不适用于Angular5的指令【英文标题】:Notation::aftercss,notworkindirectiveofAngular5【发布时间】:2018-08-0820:35:13【问题描述】:我需要的是必填字段中的星号我有这个代码.requiredlabel::aftercontent:\'*\';color:red;在我的html中<... 查看详情

Auth0/Angular2-Jwt 不适用于 Angular 5

】Auth0/Angular2-Jwt不适用于Angular5【英文标题】:Auth0/Angular2-JwtnotworkingwithAngular5【发布时间】:2018-07-0418:00:47【问题描述】:Angular2-JWT具有我需要使用的特定功能,以便根据存储在localStorage中的记录的用户令牌显示/隐藏链接。token... 查看详情

在 Angular 5 中,静默刷新不适用于 OIDC 客户端

】在Angular5中,静默刷新不适用于OIDC客户端【英文标题】:SilentrefreshnotworkingwithOIDC-clientinAngular5【发布时间】:2018-07-2412:28:03【问题描述】:我对@9​​87654321@的静默刷新有疑问。登录工作正常,我可以获得令牌。但是,静默刷... 查看详情

Rxjs 过滤器运算符不适用于 Angular2 Observable

】Rxjs过滤器运算符不适用于Angular2Observable【英文标题】:RxjsfilteroperatornotworkingwithAngular2Observable【发布时间】:2016-12-0200:24:25【问题描述】:在这个plunker我正在尝试在类member.service.ts中的angular2observable(Rxjs)上使用过滤器运算符。... 查看详情

Angular Universal 不适用于 Angular Google 地图

】AngularUniversal不适用于AngularGoogle地图【英文标题】:AngularUniversaldoesnotworkwithAngularGoogleMaps【发布时间】:2019-08-2607:35:28【问题描述】:技术:AngularCli、Angular7、AngularGoogleMaps、FirebaseFunctions。问题:我正在尝试为我的Angular通用... 查看详情

自定义样式不适用于 angular 10

】自定义样式不适用于angular10【英文标题】:Customizedstylenotappliedonangular10【发布时间】:2021-10-2516:16:23【问题描述】:我需要一些关于从Angular7升级到Angular10的帮助。我的Angular应用程序运行良好,没有任何错误,并且应用了自定... 查看详情

代理配置不适用于 Angular CLI

】代理配置不适用于AngularCLI【英文标题】:ProxyconfigurationdidnotworkingwithangularCLI【发布时间】:2017-07-0909:25:08【问题描述】:8080–托管后端的端口4200-我的Angular2前端在我的Angular2项目中,我的文件proxy.config.json包含这样的内容"/api... 查看详情

Apollo + Angular 突变不适用于变量

】Apollo+Angular突变不适用于变量【英文标题】:Apollo+Angularmutationisnotworkingwithvariables【发布时间】:2021-02-1711:43:37【问题描述】:我在使用变量创建突变时遇到了麻烦。我可以让它直接包含值,如下所示:exportconstorderCancellation=gql... 查看详情

Angular 8 更改检测不适用于可变对象

】Angular8更改检测不适用于可变对象【英文标题】:Angular8changedetectionnotworkingformutableobjects【发布时间】:2021-02-2515:00:17【问题描述】:当我对对象的属性进行更改时,Angular的默认更改检测不起作用:@Component(selector:\'parent-comp\',t... 查看详情