VendorCleaner 是一個 vendor 目錄的清理程序。編寫此工具的初衷是有許多朋友一直在抱怨 laravel 的 vendor 目錄太過臃腫,事實(shí)上 vendor 目錄中確實(shí)存在許多運(yùn)行時非必要的文件。VendorCleaner 可以幫助你快速的縮減 vendor 目錄的體積。并且,它可以工作在任何使用 Composer 的框架中,而不僅僅局限于 laravel。
在 composer.json 文件中申明依賴:
"five-say/vendor-cleaner": "1.*"
在 composer.json 文件 scripts 屬性中加入對應(yīng)的腳本事件回調(diào):
"scripts": { ... "pre-update-cmd": [ "FiveSay\\VendorCleaner::restore" ], "post-update-cmd": [ "FiveSay\\VendorCleaner::backup", ... ], ...},
如此,在每次 update 操作時都將觸發(fā) vendor 目錄的清理程序。
注意:
FiveSay\\VendorCleaner::backup
負(fù)責(zé)在每次更新后清理 Vendor 目錄,清理完成后將在 Vendor 同級目錄生成 VendorCleanerBackup 文件夾,用于存放清理出來的文件。而FiveSay\\VendorCleaner::restore
則會在每次更新前將備份的文件放回 Vendor 目錄,以確保 Composer 不會下載多余的文件,加快更新速度。
默認(rèn)使用的規(guī)則文件位于 /vendor/five-say/vendor-cleaner/src/FiveSay/VendorCleaner/VendorCleaner.config.php
。如果需要使用自定義的規(guī)則,在 Vendor 同級目錄建立自定義的 VendorCleaner.config.php
即可(注意:這將完全使用用戶自定義規(guī)則,而忽略默認(rèn)規(guī)則文件)。
這里有一個簡單的例子:
'ircmaxell/password-compat' => 'README.md test'
表示:清理 ircmaxell/password-compat 資源包中的 README.md 文件和 test 目錄。
聯(lián)系客服