大前端工程化之webpack構建流程

2022-09-20 22:42:16 字數 867 閱讀 1256

webpack簡單來講就是乙個打包器(bundler),負責將js應用程式的所有靜態資源打包輸出到乙個檔案中,不管你使用的是何種框架或程式中使用的任何型別的資源,它都可以將他們打包成html,js,css,等等可以讓瀏覽器解釋執行的資源。

現如今乙個js程式可以是很大的,程式開發中會引用很多的各種型別的資源,並且各個模組中會存在錯綜複雜的依賴,那麼webpack是如何識別並分析這些依賴,然後很準確的打包成最終資源呢,我們簡單說一下webpack的構建流程吧

webpack的構建流程可以看做一條流水線,在執行過程中會處理特定的任務,並且所有的構建任務都是序列的

初始化構建所需引數:這些引數是配置在webpack.config.js,或者是執行時的命令列引數中,啟動時首先會將這些引數合併得到最終的打包引數

開始準備編譯:得到上面引數後webpack會初始化乙個compiler物件,載入所有配置的外掛程式

尋找入口檔案:入口檔案配置在配置檔案中的entry屬性

編譯模組:webpack會從入口檔案逐行分析,呼叫對應的loader對模組進行編譯,如果遇到模組有依賴其他模組,則遞迴的執行本步驟,直到所有的模組都編譯完畢

完成模組編譯:經過第4步後就得到所有編譯完成的模組,並生成所有模組的依賴關係圖

輸出資源:根據入口檔案和模組之間的依賴關係,組裝成許多個包含多個模組的chunk,再把每個chunk轉成單獨的檔案新增到輸出列表

輸出完成:處理好了所有已經編譯完的資源後,會根據配置中的檔案輸出路徑和檔案輸出名,寫入到檔案系統中

在這個webpack構建流程中,webpack會廣播很多構建中的事件,這就使得我們可以編寫自己的一些外掛程式,來實現我們自己的一些邏輯,後續再記錄下如何編寫乙個webpack外掛程式

有不對或不足的地方希望大家指正,一起好好學習webpack

前端工程化(三)之webpack構建

構建,或者叫做編譯,在前端工程體系中的角色是將源 轉化為宿主瀏覽器可執行的 其核心是資源的管理。前端的產出資源包括js,css,html,分別對應的源 是 1.領先於瀏覽器實現的ecmascript規範編寫的js 2.less sass預編譯語法編寫的css 3.jade eje mustache等...

前端工程化

為什麼出現了前端工程化?09年之前,我們學習的css,div,js只是對頁面設計進行乙個打輔助的功能,當時只能勉強的成為頁面設計師,為什麼會出現前端工程師 1.突然間前端的需求逐漸增多,使用者對介面的要求越來越高,前端範疇越來越大。2.前後端總是保持一致才能進行開發,不能分開開發,提出前端工程化,也...

前端工程化

一 什麼是前端工程化 根據業務特點,將前端開發流程規範化 標準化 包括開發流程 技術選型,規範,構建發布等用於提公升前端工程師開發效率和 質量,提高產品的質量。實現前端工程化的目的 就是通過流程規範 自動化工具來提公升前端的開發效率 效能 質量 多人協作能力以及開發體驗。前端工程化體系分為 元件化 ...