'Cannot read property 'visitExpression' of undefined

In my angular app at the startup point I'm facing this error:

Cannot read property visitExpression of undefined

What could be the problem?



Solution 1:[1]

In my case, it was duplicate , in the Routes array in app.routing.ts.

You can use ,[\s]*, as a Regular Expression search query to find it in your routes to find two commas with (0 to many) white spaces in between them.

Solution 2:[2]

It was ',' in my case in app.module.ts file.

imports: [
    BrowserModule,
    **AppRoutingModule,,**
    HttpClientModule,

Changed it to:

imports: [
    BrowserModule,
    **AppRoutingModule,**
    HttpClientModule,

Solution 3:[3]

For me it was ,, in the *-routing.module.ts

   path: 'shoplist',
    children: [
      {
        path: '',
        loadChildren: () => import('../shoplist/shoplist.module').then(m => m.ShoplistModule)
      }
    ]
  },, <------------------ this was the cause
  {
    path: 'notification',
    children: [
      {
        path: '',
        loadChildren: () => import('../notification/notification.module').then(m => m.NotificationModule)
      }
    ]
  },

Solution 4:[4]

I did a global find and replace all with ,[\s]*, and replaced it with ,. The double comma was found in multiple other module imports which is what was breaking my app.

Solution 5:[5]

in my case it was a missing } after a pipe, within an 'else' ng-template within a mat-tab:

<mat-tab [label]="'PHOTOS' | transloco">
  <div *ngIf="images.length; else noPhoto">
    ...
  </div>
  <ng-template #noPhoto>
    <div>
      {{ "NO_PHOTOS" | transloco } <------------------ this was the cause
    </div>
  </ng-template>
</mat-tab>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 dsapalo
Solution 2 סטנלי גרונן
Solution 3 Srijib Mandal
Solution 4 RuanBuitendag
Solution 5 Stephen