在角度布线中找不到模块错误

时间:2018-07-04 10:28:35

标签: angular angular5 angular-routing angular-router

我的Angular项目文件夹结构为

+-- app.module.ts
+-- app-routing.ts
+-- app.component.ts
+-- product/
|   +-- product.module.ts
|   +-- product-routing.ts
|   +-- product-detail/
|   |   +--product-detail.component.ts
|   |   +--product-detail.component.html

在我的app-routing.ts

{path:'products',loadChildren:'app/product/product.module#ProductModule'}

在我的product-routing.ts

{ path: 'detail', component: ProductDetailComponent }

加载网址-page / product / detail时,出现以下错误

  

错误错误:未被捕获(承诺):错误:找不到模块“ app / product / product.module”。   错误:找不到模块“ app / product / product.module”。

尝试过的步骤
尝试将'app / product / product.module#ProductModule'更改为 './product/product.module#ProductModule'。没有解决。

我哪里出错了?任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

可以通过消除输入错误来解决。您声明了产品模块,并且在路由中您正在调用产品模块(不是)。更改为:

{path: 'products', loadChildren: './product/product.module#ProductModule'}

答案 1 :(得分:0)

您可以尝试loadChildren进行延迟模块加载

我已在 Stackblitz

上创建了一个演示
{path:'products',loadChildren: './product/product.module#ProductsModule''}

答案 2 :(得分:0)

尝试this approach,我将其用于 Angular 9

const routes: Routes = [
  {
    path: 'customers',
    loadChildren: () => import('./customers/customers.module').then(m => m.CustomersModule)
  },
  {
    path: 'orders',
    loadChildren: () => import('./orders/orders.module').then(m => m.OrdersModule)
  }
];