簡體   English   中英

Angular loadChildren屬性的模塊絕對路徑不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM