首页 > 解决方案 > Angular 找不到自定义模块

问题描述

我正在尝试将我的 Angular 7 应用程序转换为使用模块,以便延迟加载。当我使用模块运行时,浏览器会说

core.js:18374 错误错误:未捕获(承诺):错误:找不到模块'./orders/orders.module'
错误:找不到模块'./orders/orders.module'

我不确定为什么会发生这种情况,因为该.../src/app/orders/orders.module.ts文件肯定存在。最初我只有一个.../src/app/orders目录,其中包含多个组件。为了实现我这样做的模块

% mv src/app/orders orders
% ng g m orders --routing
% mv orders/* src/app/orders

然后,我从中删除了所有路由app-routing.module.ts并将其替换为它,因此默认情况下,当您转到应用程序时,它会将您带到订单列表。

{
    path: 'orders',
    loadChildren: './orders/orders.module#OrdersModule'
},
{
    path: '',
    redirectTo: 'orders',
    pathMatch: 'full'
}

然后orders-routing.module.ts看起来像这样:

import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {OrderEditComponent} from './order-edit/order-edit.component';
import {OrderListComponent} from './order-list/order-list.component';

const routes: Routes = [
    {path: 'edit', component: OrderEditComponent},
    {path: 'byMonth', component: OrderListComponent},
    {path: '', component: OrderListComponent},
];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
})
export class OrdersRoutingModule {
}

orders.module 看起来像这样:

import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';

import {OrdersRoutingModule} from './orders-routing.module';
import {OrderListComponent} from './order-list/order-list.component';
import {OrderEditComponent} from './order-edit/order-edit.component';

@NgModule({
    declarations: [
        OrderListComponent,
        OrderEditComponent
    ],
    imports: [
        CommonModule,
        OrdersRoutingModule
    ]
})
export class OrdersModule {
}

您可以看到文件存在于正确的位置。

在此处输入图像描述

标签: angularangular-routingangular7angular-module

解决方案


好的,我建议使用 Angular CLI 创建一个新项目,复制 app 文件夹,粘贴到新项目中,然后重新运行它。


推荐阅读