簡體   English   中英

如何在Angular應用程序中延遲加載庫

[英]How to lazy load libraries in Angular application

我們有一個Angular項目,其中包含許多外部庫,這些庫的大小逐漸增加到10 MB,因此加載整個應用程序需要一些時間。

現在,我們正在考慮將應用程序拆分為多個延遲加載的模塊。 但是,所有教程都討論將您的應用程序代碼拆分為多個JS塊,而不是根據使用它們的模塊將vendor.bundle.js包含的庫vendor.bundle.js為多個塊。 僅拆分我們的應用程序代碼不會為我們節省很多麻煩,因為外部庫構成了大多數應用程序大小。

我們的應用程序依賴的大多數庫僅在單個模塊中使用,因此將它們包含在vendor.bundle.js是沒有意義的。 我們如何拆分這個捆綁包,以便較小的供應商塊遵循延遲加載模塊的結構? 是否可以通過Angular CLI輕松做到這一點,或者它不是很常見,我們需要一些骯臟的技巧?

有很多方法可以動態添加JavaScript庫。 我在stackoverflow上找到了一個有用的解決方案。

https://stackoverflow.com/a/42766146/7458082

您可以加載惰性模塊主要組件的庫OnInit。 可以肯定的是,您可以在庫加載后通過鈎子來初始化組件。

我們發現,如果僅在單個延遲加載的模塊中需要庫,則庫會自動在塊之間拆分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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