Webpack是幹啥的

2022-09-07 08:18:11 字數 984 閱讀 8287

1 webpack是基於nodejs的前端js模組打包編譯構建工具,為什麼要有模組打包?因為把模組分散在多個js檔案裡的話,在html頁面裡面就需要引入非常多的script標籤,瀏覽器會分多個請求去載入一批js檔案,影響效率和使用者體驗,如果把所有的模組都打包成乙個js檔案,這個大js檔案裡包含了所有模組和他們之間互相依賴的模組,瀏覽器載入的時候只載入乙個js就可以了,使用者體驗和效率都會很高

2 webpack幫我們實現模組化管理方法:由於原生瀏覽器還不能完全支援模組化管理方法(import),所以需要在js裡自己實現一套模組化管理方法,webpack會在最終打包的模組裡實現require等方法

3 webpack打出的包中是如何組織模組的? 答案是生成乙個陣列來管理所有的打包進去的模組,每個模組都是陣列中乙個帶編號的物件,模組呼叫require的時候,從陣列中找到對應的模組來執行

4 webpack也支援執行時動態載入新的模組包,是如何實現的?答案是jsonp,webpack實現了乙個**函式,webpack把模組片段包編譯出來的時候,會把動態載入的模組包陣列作為那個**函式的引數傳遞,當前端某一模組呼叫webpack的動態載入模組包函式的時候,會動態生成script標籤來非同步載入,當js載入完的時候自動會執行**函式來把新模組包裡面的模組新增到已有的模組包裡面去,然後會**乙個使用者準備好的promise,通知使用者函式來require新的模組~

5 webpack可以打包的不止有js模組,還能打包css、甚至到模組裡面去,背後的魔法其實是webpack把所有的資源都包裝成了模組,比如css模組,呼叫require的時候自動釋放到頁面的style中去

6 webpack的編譯打包過程是怎樣?答案是給webpack的配置檔案指定乙個入口js,webpack從入口js作為根,依次分析其中的require呼叫,取出require呼叫的函式引數,根據配置檔案中配置的檔案字尾名等資訊,來呼叫不同的loader進行處理,比如.js .css .png分別呼叫不同的loader來把資源處理成模組、、這是乙個遞迴的順藤摸瓜的操作,直到最終生成了上面所說的打包後的大模組~

git是幹啥的?

建立乙個資料夾,右鍵開啟 git bash here 視窗 git version 確認是否安裝成功以及它的版本 提交人配置資訊,git config global user.name 提交人的姓名 git config global user.email 提交人的郵箱 git config lis...

webpack詳解,什麼是webpack

1.理解什麼是webpack 上網搜尋的直接解釋是 模組化打包機 或者 模組打包工具。首先,認為它是乙個工具,幫助我們更好的處理事情的。其次,打包 如何理解?假設我們需要寄快遞。我們將許多的物品都放進了乙個紙皮箱,然後進行封箱。這就是打包。對應到前端開發來說,就是將很多的的 css檔案,js檔案,等...

埠復用 SO REUSEADDR 是幹啥用的

如果埠復用了 設定了socket的so reuseaddr選項 在乙個應用程式可以把n個套接字綁在乙個埠上而不出錯。那現在是不是可以從這些套接字中併發地讀取了?答案是否定的 測試結果是只有最後乙個套接字會正常接收資料。埠復用最常用的用途應該是防止伺服器重啟時之前繫結的埠還未釋放。這種情況下如果設定了...