日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

复习webpack4之Code Splitting

發布時間:2024/4/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 复习webpack4之Code Splitting 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前學習過webpack3的知識,但是webpack4升級后還是有很多變動的,所以這次重新整理一下webpack4的知識點,方便以后復習。

這次學習webpack4不僅僅要會配置,記住核心API,最好還要理解一下webpack更深層次的知識,比如打包原理等等,所以可能會省略一些比較基礎的內容,但是希望我可以通過此次學習掌握webpack,更好地應對以后的工作。

1.為什么要進行Code Splitting

我們先舉一個例子,在index.js中引入lodash。

然后進行打包,我們會發現按照以前的配置,會把lodash和我們的業務代碼打包到一起,這其實會有問題:

用戶第一次進入頁面,會加載main.js(假如是2MB),當業務邏輯發生變化,重新打包上線后,用戶進入頁面又要重新加載2MB的文件,就會造成浪費。lodash這個庫在我們開發過程中,基本不會去改變里面的內容,所以應該把這部分代碼單獨生成一個js文件,這樣業務邏輯變化就不會影響到lodash的代碼了。

2.初步Code Splitting

我們新建一個lodash.js,然后在里面引入lodash,并且掛在到window上,然后index.js直接調用lodash的方法。

重新配置entry和output:

重新進行打包,會有兩個JS文件。

在這種情況下,用戶第一次進入頁面,加載兩個JS,業務邏輯發生變化重新打包后,lodash.js并不需要重新加載,節約了資源,也節省了一部分時間。

3.利用webpack做Code Splitting

首先重新引入lodash庫

然后在webpack.config.js中添加配置項

進行打包,觀察打包的文件,除了main.js,還多生成了一個vendor.js文件,我們觀察main和vendor發現,main.js里面只有業務邏輯,而vendor里面只有lodash的代碼。

使用這個配置項,webpack自動幫我們進行了代碼分割。

4.動態引入庫

新建一個js文件,增加如下代碼。

但是現在webpack對動態引入處于實驗性階段,所以想要打包還要安裝一個插件。

cnpm install babel-plugin-dynamic-import-webpack -D

在.babelrc中增加如下配置。

進行打包,打包后發現生成這些文件。

這時,lodash的代碼都在0.js中,所以webpack不僅能分割同步引入的代碼,還可以分割異步引入的代碼。

轉載于:https://juejin.im/post/5cd04e2ee51d45379a1642f5

總結

以上是生活随笔為你收集整理的复习webpack4之Code Splitting的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。