【问题标题】:Cant access throug url lazy load modules无法通过 url 延迟加载模块访问
【发布时间】:2017-11-25 04:21:25
【问题描述】:

我在执行“ng build --prod”后遇到了路由问题

我已将模块配置为在我的项目中延迟加载。如果我使用这样的链接访问它们,它们会毫无问题地加载:

<a classs="waves-effect btn" [routerLink]="['/login']">Login</a>

但是如果我尝试将 URL 输入到浏览器中,我会收到 404 错误。

这是我的主路由器:

export const AppRoutes: Routes = [
  {
    path: '',
    component: MainLayoutComponent,
    children: [
      { path: '', loadChildren: './components/dashboard/dashboard.module#DashboardModule' },
      { path: '', loadChildren: './components/auth/auth.module#AuthModule' }
    ]
  },
  {
    path: '**',
    redirectTo: '404'
  }
];

是否有路由器缺少配置? 或者是什么问题?

请帮忙。

【问题讨论】:

  • ng serve 的行为方式是否相同?
  • @hogan 不,只有在我进行生产构建时才会停止工作。

标签: angular lazy-loading router production-environment


【解决方案1】:

我想我不熟悉你的模式。但也许这是一个 auth 的事情.. 你有 2 个路径条目:''

但也许你只需要设置一个路径:'login'?

【讨论】:

  • 已经试过了,但是输入网址还是不行
  • 这是一个我正在使用的工作示例: const appRoutes: Routes = [ // Dashboard { path: '', redirectTo: '/Dashboard', pathMatch: 'full' }, { path: 'Dashboard', loadChildren: './dashboard/_dashboard.module#DashboardModule' }, // MapView { path: 'mapview', redirectTo: '/MapView', pathMatch: 'full' }, { path: 'MapView', loadChildren: './mapview/_mapview.module#MapViewModule' } ]; @NgModule({ 导入:[ RouterModule.forRoot( appRoutes ) ],导出:[ RouterModule ] }) 导出类 AppRouting { }
  • 为什么要导出路由器模块? @杰西
  • 也可以试试这个:[RouterLink]="'/login'"
  • 看来导出允许我将 添加到应用程序的模板中
【解决方案2】:

可能是角度与此路由器配置混淆

{ path: '', loadChildren: './components/dashboard/dashboard.module#DashboardModule' },
{ path: '', loadChildren: './components/auth/auth.module#AuthModule' }

您是否尝试过为模块提供一些路径

【讨论】:

  • 让我测试一下
  • 试过了还是一样的问题
【解决方案3】:

我现在不能在这里测试,但我认为它与

有关

如果这有帮助,请告诉我。

【讨论】:

  • 我也要试试这个
  • 我无法设置“应用程序/组件”,因为主路由器在应用程序下。因此,如果我进行更改,则会出现错误。不知道我必须在基本标签中放入什么。请给我一个例子。
  • 基本标签应该和上面提到的一样,没有别的。 i cant set 'app/components' because the main router in under app 是什么意思?您应该将主路由器导入应用程序模块并在那里配置您的惰性路由。这是正确的例子:https://angular.io/guide/router#lazy-loading-route-configuration
猜你喜欢
  • 2021-04-03
  • 2018-05-22
  • 1970-01-01
  • 2017-02-22
  • 2022-08-21
  • 1970-01-01
  • 1970-01-01
  • 2020-12-21
  • 1970-01-01
相关资源
最近更新 更多