国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

解決webpack打包速度慢的解決辦法匯總

2024-05-06 15:14:46
字體:
來源:轉載
供稿:網友

剛開始用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 –watch非第一編打包的時候就不會重復的打另外一個文件了。

entry: {    //這是我自己文件的入口,換成自己的    main: './apps/main.jsx',    //這個是把外面的東西打包成common.js    'common':['./node_modules/react/dist/react-with-addons.min.js','./node_modules/react-dom/dist/react-dom.min.js']  },plugins: [    //把common.js變為共有的,除第一遍打包后就不會再打包了    new webpack.optimize.CommonsChunkPlugin('common', 'common.js')  ]output: {    path: path.resolve(containerPath,'dist/'),    filename: '[name].js'  }

在webpack配置文件的根上加上這些內容,在html入口處需要引入common.js

//確認一下是不是第一回打包后這個文件已經有了<script src="dist/common.js"></script>

這種方式在webpack -watch后第一遍依舊很慢(因為要打common) 之后修改默認打包是就不會再打common了。而且還有一個優點就是不用再引React,jquery一堆文件了,只引common一個文件就ok。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 中西区| 旺苍县| 融水| 宜州市| 崇州市| 故城县| 汽车| 莆田市| 岚皋县| 开封县| 石台县| 鹰潭市| 乐安县| 荔浦县| 保康县| 灵石县| 林州市| 奈曼旗| 元阳县| 济阳县| 新龙县| 乐清市| 札达县| 阿鲁科尔沁旗| 曲松县| 连江县| 天台县| 鹤壁市| 瑞昌市| 长汀县| 大英县| 全州县| 梨树县| 德格县| 彰化县| 石景山区| 武隆县| 南投市| 普洱| 天水市| 渝中区|