2016-10-03 63 views
3

有沒有辦法延遲加載DLL中的webpack?延遲加載的DLL

我一直在看下面的例子:https://gist.github.com/robertknight/058a194f45e77ff95fcd

的例子分離出一個包爲DLL,但包括它通過腳本標籤。

有沒有辦法讓Webpack有條件地包含來自另一個bundle的DLL

這個想法是使用它作爲延遲加載技術,其中僅當某些用戶特定的運行時條件爲真時才加載該包。

爲背景,我在角2

回答

1

這樣做,你可能想使用code splitting而不是DLL插件 - 我覺得DLL插件誕生出需要優化編譯比什麼都重要倍。

代碼拆分會將您的包拆分爲多個塊,只有在需要時纔會自動提取。

注意:Webpack 1使用require.ensure,而Webpack 2使用System.import來定義「分割點」。

+1

這是真的,但延遲加載DLL包的一個原因是因爲它預先評估了該包,所以在每次構建應用程序時都不需要重新構建它。例如,如果你想懶加載一個像Kendo UI這樣的大型庫,那麼'require.ensure'對於延遲加載就可以正常工作,但是webpack必須每次都重新構建它,這會損失DLL包的好處。 – TetraDev

+0

@TetraDev你是否在手錶模式下使用Webpack,因爲我發現增量構建的速度非常快,即使有很多第三方庫? – riscarrott

+0

是的你說得對,我使用webpack手錶模式進行增量構建,速度更快。我只是指最初的構建時間,我的大約35s,增量大約5s。 – TetraDev