11

AppRouting.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from '../buyer/home/home.component';
const routes: Routes = [
   {path: '', redirectTo:'buyer', pathMatch:"full"}
]
@NgModule({
  declarations:[],
  imports:[
    BrowserModule,
    RouterModule.forRoot(routes)
  ],
   exports:[RouterModule]
})

export class AppRoutingModule {}

BuyerRouting.ts

import {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core'; 
import { Routes,RouterModule } from '@angular/router';

import { WelcomeComponent } from './welcome/welcome.component';
import { HomeComponent } from './home/home.component';

@NgModule({
declarations:[],
imports:[
    CommonModule,
    RouterModule.forChild([
        { path: 'buyer', component: HomeComponent},
        { path: '', redirectTo: '/welcome', pathMatch: 'prefix'},
        { path: 'welcome', component: WelcomeComponent}
    ])
],
exports:[RouterModule]
})

export class BuyerRoutingModule {}

When I ng serve the app. the build was successfully created but when i run the app I got an error. I have also checked by removing emtpy path still this error is coming.

main.ts:12 Error: Invalid configuration of route '': routes must have either 
a path or a matcher specified
Haris
  • 211
  • 1
  • 2
  • 10
  • try this: RouterModule.forChild([ { path: '', redirectTo: '/welcome', pathMatch: 'prefix'}, { path: 'buyer', component: HomeComponent}, { path: 'welcome', component: WelcomeComponent} ]) and RıuterModule is import to appModule – Nisanur Aug 24 '20 at 07:00

2 Answers2

3

wherever in NgModule config (including RouterModule, TranslateModule and other) you can use only exported variables and functions (as in case of URLMatcher), but you can not use function to calculate value.

Source: https://github.com/angular/angular/issues/18662

So according to the above solution, you may have some route (including child routes) where you are using any un exported variables or functions to calculate the route. Check.

test_124
  • 1,400
  • 2
  • 18
  • 36
2

This is a tricky error.
I was using an Object filled by some functions, and the AoT statically analyzes my object and it's empty, so I had to fill and define the complete object for AoT and my plan is to update it on a single file dynamically somehow, like in a pre-build hook.
I'm praying for Ivy to not have this restriction!

Mateo Tibaquira
  • 2,059
  • 22
  • 23