Angular 5.2.10懒加载问题:模块未导入主模块
解决Angular 5.2.10懒加载模块配置问题
嘿,我来帮你搞定这个懒加载的问题!你完全不需要把AuditorloginModule直接导入主模块(app.module.ts),这恰恰是懒加载的核心——模块会在用户访问对应路径时才被按需加载,而不是应用启动时就加载。下面是具体的配置步骤:
1. 完善子模块路由配置
首先确保你的auditorlogin-routing.module.ts配置正确,子路由要使用RouterModule.forChild(),并且导出RouterModule:
import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { AuditorloginComponent } from './auditorlogin.component'; const routes: Routes = [ { path: '', component: AuditorloginComponent } ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) export class AuditorloginRoutingModule { }
2. 在主路由中配置懒加载规则
接下来修改app-routing.module.ts,添加懒加载路由,使用loadChildren属性指定模块的路径(Angular 5的语法是「文件路径+#模块类名」):
import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; const routes: Routes = [ // 保留你已有的其他主路由 { path: 'auditor-login', // 这是用户访问的URL路径,比如 http://localhost:4200/auditor-login // 路径要匹配你的实际文件结构,比如如果auditorlogin文件夹在app根目录下,就用下面的路径 loadChildren: './auditorlogin/auditorlogin.module#AuditorloginModule' } ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule { }
3. 确认主模块的配置
确保app.module.ts中没有导入AuditorloginModule,这是正确的做法——懒加载模块不需要在主模块的imports数组中声明,路由会负责在需要时自动加载它。
这样配置后,当用户访问/auditor-login路径时,Angular会自动加载AuditorloginModule和对应的组件,完美实现懒加载的效果啦!
内容的提问来源于stack exchange,提问作者Vikram R
相关产品推荐
相关产品推荐

