11

应用路由.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 {}

买家路由.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 {}

当我为应用程序服务时。构建已成功创建,但是当我运行应用程序时出现错误。我还通过删除空路径进行了检查,仍然会出现此错误。

main.ts:12 Error: Invalid configuration of route '': routes must have either 
a path or a matcher specified
4

2 回答 2

3

在 NgModule 配置中的任何位置(包括 RouterModule、TranslateModule 等),您都只能使用导出的变量和函数(如 URLMatcher 的情况),但不能使用函数来计算值。

来源:https ://github.com/angular/angular/issues/18662

因此,根据上述解决方案,您可能有一些路线(包括子路线),您使用任何未导出的变量或函数来计算路线。查看。

于 2018-08-22T08:56:50.047 回答
2

这是一个棘手的错误。
我正在使用由一些函数填充的对象,而 AoT 静态分析我的对象并且它是空的,所以我必须为 AoT 填充和定义完整的对象,我的计划是以某种方式在单个文件上动态更新它,就像在预构建挂钩。
我祈祷常春藤不要有这个限制!

于 2019-03-07T04:33:18.170 回答