我試圖理解這個,所以如果有人可以請給我解釋,我會非常感激。Angular 4懶加載
我的理解是,我們不能在沒有node.js的情況下在角度上進行延遲加載。真的嗎?如果沒有,請您指點我可以瞭解如何在沒有node.js的情況下進行操作的地方?
請和謝謝。
我試圖理解這個,所以如果有人可以請給我解釋,我會非常感激。Angular 4懶加載
我的理解是,我們不能在沒有node.js的情況下在角度上進行延遲加載。真的嗎?如果沒有,請您指點我可以瞭解如何在沒有node.js的情況下進行操作的地方?
請和謝謝。
這是不正確的。雖然兩者都是使用Javascript,但Angular和Node.js是兩個獨立的技術,有兩個獨立的關注點。 Node.js是一個後端架構,用於處理和傳遞數據,而Angular是一種前端技術,主要關注如何爲用戶提供一個網關來與通過GUI提供數據的服務進行交互。
在Angular懶加載模塊通過路由器as documented here完成。基本上你不導入你要延遲加載,直到該模塊的路徑已被激活的模塊,例如:
export const routes: Routes = [
{ path: '', redirectTo: 'contact', pathMatch: 'full'},
{ path: 'crisis', loadChildren: 'app/crisis/crisis.module#CrisisModule' },
{ path: 'heroes', loadChildren: 'app/hero/hero.module#HeroModule' }
];
要小心,並閱讀角文檔仔細,因爲有不少「陷阱「與延遲加載。我能想到的一些:
您只需要在路由中加載模塊。嘗試將其導入父模塊將會否定模塊的「懶惰」,並且在某些情況下會導致錯誤。
延遲加載模塊導致依賴注入樹被拆分。換句話說,如果您在父模塊和子模塊中調用相同的服務,它們將處於不同的上下文中,因此它們不一定會彼此知曉,除非您聲明服務爲forRoot(), more on that here.
總的來說,這樣做很簡單。只需按照文檔。
感謝您的迴應。我都知道這一點。有一點我有它實現,它工作正常。爲什麼我認爲它沒有node.js是行不通的,它在我的開發機器上工作得很好,但是一旦我將它發佈到我的託管站點(沒有node.js),應用程序就停止工作全部一起。我發佈應用程序時是否缺少我需要的東西? – Samkan
在我看來你需要使用角CLI來建立你的角度應用:ng build --prod --env=prod
然後在src
文件夾角CLI會生成此文件夾dist
文件夾中的應用程序準備上傳到服務器。
你真的用Google嗎? – Milad
https://namitamalik.github.io/Lazy-Loading-with-Angular2-Routing/ – Milad
有一百萬篇關於這方面的文章,wtf – Milad