原文:.8-淺析webpack源碼之Tapable介紹

Tapable工具 完成webpack默認參數注入后,下一步雖然是new Compiler ,但是這東西不是一下可以講完的,復雜的一批。 不如先從工具入手,分塊講解compiler,首先來看看事件流執行器Tapable工具。 tips:這里的Tapable源碼來自於webpack內部自帶的tapable,如果通過npm i tapable查看會發現完全不一樣。 出現地點如下: 可以看到核心對象基本 ...

2017-12-14 15:34 1 1314 推薦指數:

查看詳情

webpack核心模塊tapable源碼解析

上一篇文章我寫了tapable的基本用法,我們知道他是一個增強版版的發布訂閱模式,本文想來學習下他的源碼tapable源碼我讀了一下,發現他的抽象程度比較高,直接扎進去反而會讓人雲里霧里的,所以本文會從最簡單的SyncHook和發布訂閱模式入手,再一步一步抽象,慢慢變成他源碼的樣子。 本文 ...

Fri Apr 02 00:22:00 CST 2021 0 346
.1-淺析webpack源碼webpack.cmd

  此系列隨時可能斷更,畢竟我是解釋型源碼分析……   tips:本系列源碼版本為3.10.0   嘗試看過Spring的源碼,有點燒腦,所以還是重回JS吧!   在配置完環境變量后,可以通過webpack指令進行打包,需要知道的是,如果當前路徑存在webpack ...

Sun Dec 10 22:52:00 CST 2017 8 1987
.2-淺析webpack源碼之打包后文件

  先不進源碼,分析一下打包后的文件,來一張圖:      首先創建兩個JS文件,內容如下:   分別為配置文件和入口JS文件,內容弄個簡單的。   接下來在當前目錄執行webpack --config config.js,會輸出一個output.js,簡化后 ...

Mon Dec 11 09:46:00 CST 2017 0 1387
.14-淺析webpack源碼之Watchpack模塊

  解決掉了最頭疼的DirectoryWatcher內部實現,這一節可以結束NodeWatchFileSystem模塊。   關於watch的應用場景,仔細思考了下,這不就是熱重載的核心嘛。    ...

Thu Dec 21 05:06:00 CST 2017 1 923
.3-淺析webpack源碼之預編譯總覽

  寫在前面:   本來一開始想沿用之前vue源碼的標題:webpack源碼之***,但是這個工具比較巨大,所以為防止有人覺得我裝逼跑來噴我(或者隨時鴿),加上淺析二字,以示慫。   既然是淺析,那么案例就不必太復雜,所以繼續按照之前vue源碼,以最簡單形式進行源碼分析,如下:   配置文件 ...

Tue Dec 12 00:14:00 CST 2017 3 1112
.6-淺析webpack源碼之validateSchema模塊

validateSchema模塊   首先來看錯誤檢測:   可以注意到,這里傳了兩個參數,其實第一個參數來源於一個JSON文件:   這個JSON文件非常大, ...

Thu Dec 14 03:22:00 CST 2017 0 2431
webpack核心模塊tapable用法解析

前不久寫了一篇webpack基本原理和AST用法的文章,本來想接着寫webpack plugin的原理的,但是發現webpack plugin高度依賴tapable這個庫,不清楚tapable而直接去看webpack plugin始終有點霧里看花的意思。所以就先去看了下tapable的文檔和源碼 ...

Tue Mar 16 01:00:00 CST 2021 0 1593
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM