之前寫過一篇『減少 node_modules 大小來加速部署 Node.js 專案』文章,透過 Yarn 指令可以移除不必要的模組,剩下的模組佔據整個專案大部分容量,那該如何針對留下的模組來瘦身呢?這週看到 Node.js 大神 TJ 又發了一個 Go 語言專案叫做 node-prune,此專案用來移除在 node_modules
內不必要的檔案,那哪些才是不必要的檔案呢?
預設刪除列表
底下是 node-prune 預設刪除的檔案列表
|
|
預設刪除目錄
預設刪除的副檔名
作者也非常好心,開了 WithDir
, WithExtensions
… 等接口讓開發者可以動態調整名單。其實這專案不只可以用在 Node.js 專案,也可以用在 PHP 或者是 Go 專案上。
產生執行檔
對於非 Go 的開發者來說,要使用此套件還需要額外安裝 Go 語言環境才可以正常編譯出 Binary 檔案,也看到有人提問無法搞定 Go 語言環境,所以我直接 Fork 此專案,再搭配 Drone CI 方式輕易產生各種環境的 Binary 檔案,現在只有產生 Windows, Linux 及 MacOS。大家可以從底下連結直接下載來試試看。下載完成,放到 /usr/local/bin
底下即可。使用方式很簡單,到專案底下直接執行 node-prune