[英]Cannot find module error in angular routing
My Angular project folder structure is我的 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
In my app-routing.ts在我的 app-routing.ts
{path:'products',loadChildren:'app/product/product.module#ProductModule'}
In my product-routing.ts在我的 product-routing.ts
{ path: 'detail', component: ProductDetailComponent }
When I load the url - page/product/detail , I get the following error当我加载 url - page/product/detail 时,出现以下错误
ERROR Error: Uncaught (in promise): Error: Cannot find module "app/product/product.module".
错误错误:未捕获(承诺):错误:找不到模块“app/product/product.module”。 Error: Cannot find module "app/product/product.module".
错误:找不到模块“app/product/product.module”。
Steps tried尝试的步骤
tried changing 'app/product/product.module#ProductModule' to './product/product.module#ProductModule'.尝试将“app/product/product.module#ProductModule”更改为“./product/product.module#ProductModule”。 not solved.
没有解决。
Where I have went wrong?我哪里出错了? Any help is appreciated.
任何帮助表示赞赏。
That can be solved by removing your typo mistake.这可以通过删除您的拼写错误来解决。 You declared Product Module & in routing you are calling Products Module (which is not).
您声明了 Product Module 并在路由中调用了 Products Module(不是)。 Change to:
改成:
{path: 'products', loadChildren: './product/product.module#ProductModule'}
You can try loadChildren
for lazy module loading您可以尝试
loadChildren
进行延迟模块加载
I have create a demo on Stackblitz我在Stackblitz上创建了一个演示
{path:'products',loadChildren: './product/product.module#ProductsModule''}
Try this approach , I used it for Angular 9试试这个方法,我将它用于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)
}
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.