剛開始用webpack,談一談解決webpack打包慢的問題的方法
技巧1
webpack在打包的時候第一次總是會做很長的準備工作,包括加載插件之類的。在剛接觸webpack的時候總是webpack一下-測一下-改一下-再webpack一下,這種方式最后讓很多人崩潰了覺得webpack一點都不好用。其實這是錯誤的使用方式。
正確的方式應直接執行webpack --watch 這樣webpack會自動編譯,第一回的時候確實很慢,但之后的自動編譯就要快了好多,打包時間相差幾倍。
技巧2
webpack配合的React,jQuery一些共有的庫去使用,雖然沒寫幾行代碼卻發現我靠打個文件居然好幾M了。能不能不讓這些共有庫打入我們的文件呢?
externals: { 'antd':true, 'react': 'React', 'react-dom': 'ReactDOM' }在webpack配置文件的根上加上這些內容。告訴webpack在require(“react”)的時候不要去加載模塊,直接去讀(這里還不是很明白,有的說“:”后面是window.React,寫了后面可以直接使用無需require,待確定后再補充,一般寫true就可以了),當然這種方式要在html入口手動引入js文件:
<script src="node_modules/react/dist/react-with-addons.js"></script><script src="node_modules/react-dom/dist/react-dom.min.js"></script><script src="node_modules/antd/dist/antd.min.js"></script>
在項目中正常使用require(“react”)試試,不會被打進去了,文件變為了幾k,突然感覺webpack這東西還是能用的。
技巧3
大部分情況下通過技巧2已經可以搞定大部分問題了,但是在用MaterialUI的時候,點擊事件總是報一個錯誤,大概意思是重復的引入了react什么的。如果出現這個問題,那么請使用技巧3。將那些共有的模塊打進另外一個文件中,然后使用CommonsChunkPlugin插件,在webpack 主站蜘蛛池模板: 榆中县| 平远县| 潼南县| 巩义市| 嵊泗县| 诸暨市| 湾仔区| 西丰县| 南昌市| 林周县| 金湖县| 远安县| 炎陵县| 祁门县| 兴海县| 延边| 伊川县| 云南省| 扬州市| 阿勒泰市| 乌拉特前旗| 延庆县| 浦城县| 沁阳市| 青阳县| 鄂尔多斯市| 蒲江县| 台北县| 尼木县| 平度市| 聊城市| 铅山县| 福清市| 阿坝县| 佛山市| 五寨县| 古田县| 福泉市| 嘉义市| 临武县| 涟源市|