[英]Angular loadChildren property absolute path to module is not working
我試圖從我的app-routing.module.ts中延遲加載模塊,並且它的唯一工作方式是使用相對路徑,例如:
{ path: 'admin', loadChildren: './admin/admin.module#AdminModule', canLoad: [AuthGuard] },
如果執行以下操作,它將失敗並顯示:ERROR in無法解析相對於/C/projects/my-app/src/app/app-routing.module.ts的模塊app / admin / admin.module:
{ path: 'admin', loadChildren: 'app/admin/admin.module#AdminModule', canLoad: [AuthGuard] }
在更高版本的Angular中,此路徑必須是相對的,而不是絕對的,是否有所更改? 為什么在這里的演示中起作用: https : //stackblitz.com/angular/moybyqrjdeom
在Angular文檔中,它表示以下內容:
該地址是AdminModule文件位置(相對於應用程序根目錄),后跟#分隔符,后跟導出的模塊類AdminModule的名稱。
該構建基於您的tsconfig。 如果使用的是CLI生成的角度應用程序,則應具有兩個配置。
在路由內部嘗試執行以下操作:
{ path: 'admin', loadChildren: 'src/app/admin/admin.module#AdminModule', canLoad: [AuthGuard] }
如果您app/tsconfig
僅在根目錄上擴展tsconfig
,則應該可以解決該問題。
您的外部tsconfig應該具有baseUrl baseUrl: "."
因為導入
{ path: 'admin', loadChildren: 'app/admin/admin.module#AdminModule', canLoad: [AuthGuard] }
Angular將從根目錄搜索模塊,而根目錄在那里不可用。 Angular根本無法檢測到您的模塊,因此您需要提供正確的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.