66
votes

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

Cannot read property visitExpression of undefined

What could be the problem?

5
In my case the error was coming in test cases. I have added extra , in the begining of component name: MockComponent({selector: ',player'})Dalvik

5 Answers

238
votes

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.

18
votes

In my case, it was components with empty selectors.

17
votes

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

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

Changed it to:

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

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)
      }
    ]
  },
5
votes

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.