前端框架五花八門,可是建置工具卻只更新了 2 3 代而已,相較之下要來的穩定多了,這些工具如 webpack, babel 都是我們在現代開發前端時不知不覺之中得去使用到的工具,可是我們真的了解這些工具嗎?現在我們大多都靠著框架提供的基本設定就搞定了這些工具,會不會有一天,我們非得正面面對這些工具呢?比如只要正確的設定好 webpack 你就可以在打包時順便的對圖片做最佳化,還可以做 prerender 來提供更好的 SEO
這系列不只是介紹這些工具的使用方法,還會去探究它們底層的實作原理,以及如何寫個 plugin ,完全客制化這些工具的功能
在前一篇有提到寫 babel macro 比較簡單,這邊就來看看一個 babel macro 的基本架構: const { createMacro } = re...
現在開發前端只要你有用到什麼框架,大概都會用到 webpack ,雖然就如同之前所說的,它有可能是包在底層而你使用到了卻沒有注意到 webpack 除了核心的...
雖說這篇應該要來更詳細的介紹 webpack 的設定,不過其實 webpack 的設定真的很多,我只能找比較可能會用到的設定介紹了,另外因為在寫這篇時 webp...
這篇的完整的程式可以到 https://github.com/DanSnow/ironman-2020/tree/master/build-tool/pack...
webpack loader 之前也講過,能把檔案做預先處理,在 「最後」 轉換成 webpack 能夠理解的 js 來讓 webpack 處理,在 webpa...
這篇的範例程式碼在 https://github.com/DanSnow/ironman-2020/tree/master/build-tool/packag...
webpack 大概是我目前看過彈性最高的套件了,只要你知道它的 plugin 的 API ,幾乎什麼東西都能自由修改,不過這麼自由的 API 其實也有個不小的...
如果你有在 webpack 的官網上找到關於 tapable 的描述的話,官網上是說 tapable 是 webpack 的骨幹 (backbone) ,在寫...
這篇的範例程式碼在 https://github.com/DanSnow/ironman-2020/tree/master/build-tool/packag...
rollup 是另一個 bundler ,不過它有幾個跟 webpack 不同的特點: 能編出 es6 module 預設會做 tree shaking ,跟...