我創建一個應用程序做出反應,我的主要依賴關係React
,react-dom
,Redux
,Immutable
和其他一些小型圖書館。 問題是,當我使用webpack
構建應用程序時,它會加載一些其他模塊,例如lodash
和jQuery
,因爲它們是嵌套的依賴關係,這會導致我的構建過大(使用WebpackBundleSizeAnalyzerPlugin
進行檢查)。 但是,例如,如果我只使用函數react-dom
,爲什麼我需要額外加載完整的lodash模塊? 是否有可能強制webpack只加載嵌套依賴模塊的必要部分而不是完整的? 謝謝的WebPack進口了不需要的模塊從嵌套的相關
1
A
回答
2
這聽起來你正在使用webpack 1,它不包括你想要的功能:樹抖動。
Webpack 2有抖動的樹,這是活代碼導入。這意味着它只是捆綁代碼和你在實際應用中使用的庫的各個部分,遠勝於普通的死代碼清除(先捆綁然後刪除未使用的代碼)。
我在過去遇到這個問題,考慮遷移到webpack 2,你會得到這個很棒的功能。我得到我的捆綁從30Mb到1Mb。隨着縮小,其中一個應用程序降到了800k。
如果您不想使用webpack 2,無論出於何種原因,還有其他替代方法,如rollup。我已經成功使用兩者。 Rollup的配置要簡單得多,但webpack 2仍然是我最喜歡的,因爲在觀看資產比彙總的觀察者更有效率(更快)時,它的增量構建。兩個得到的束具有約與彙總和的WebPack相同的尺寸2.
有用的鏈接:
相關問題
- 1. 再出口嵌套模塊
- 2. 需要關於嵌套Promises.all的建議
- 3. 如何消除死webpack需要/進口?
- 4. $的script.js嵌套的相關
- 5. 帶嵌套模塊的嵌套路由
- 6. Pyinstaller進口了太多的模塊
- 7. Pycharm進口相同的模塊
- 8. 只要求從需要CommonJS的模塊特定出口
- 9. 瞭解Node.js模塊:多個需要返回相同的對象?
- 10. Rust中的模塊和嵌套模塊
- 11. php DOMElement appendChild不需要的嵌套
- 12. 的WebPack與ES6:模塊的進口政策
- 13. 是否需要嵌套同步塊?
- 14. 與node.js的嵌套模塊
- 15. AngularJS中的嵌套模塊
- 16. Node.js - 在子進程中需要相同的模塊
- 17. 不正確的嵌套模塊路由
- 18. es6模塊否定了對browserify/webpack的需求嗎?
- 19. 帶多個入口模塊的Webpack AotPlugin
- 20. 特拉維斯-CI找不到相關模塊需要
- 21. 需要NodeJS的紙模塊。窗口模塊丟失
- 22. 燼:從倍數渲染嵌套循環相關的模型
- 23. 進度4GL嵌套塊顯示相關數據
- 24. 如何在Webpack中需要另一個模塊中的預編譯模塊?
- 25. 如何ES6模塊進口babylonjs中的WebPack開源RTS遊戲
- 26. 從...進口或進口...作爲模塊
- 27. 使用帶WebPack的ES6模塊,爲什麼還需要
- 28. 需要@谷歌雲/語言中斷的WebPack(「模塊未找到」)
- 29. 使用的WebPack/NPM組合需要一個模塊
- 30. 動態需要使用webpack的別名模塊