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 {}
当我为应用程序提供服务时。构建成功创建,但当我运行应用程序时,我收到一个错误。我还通过删除emtpy路径检查了这个错误即将到来。
main.ts:12 Error: Invalid configuration of route '': routes must have either
a path or a matcher specified
答案 0 :(得分:1)
在NgModule配置中的任何地方(包括RouterModule,TranslateModule等),您都只能使用导出的变量和函数(对于URLMatcher而言),但是不能使用函数来计算值。
来源:https://github.com/angular/angular/issues/18662
因此,根据上述解决方案,您可能有一些路由(包括子路由),在其中使用任何未导出的变量或函数来计算路由。检查。
答案 1 :(得分:0)
这是一个棘手的错误。
我使用的是由一些函数填充的对象,AoT会静态分析我的对象,并且它是空的,因此我必须为AoT填充并定义完整的对象,而我的计划是以某种方式动态地更新单个文件,例如预构建挂钩。
我在祈求常春藤不要受到这种限制!