VendorCleaner 是一個 vendor 目錄的清理程序。編寫此工具的初衷是有許多朋友一直在抱怨 laravel 的 vendor 目錄太過臃腫,事實上 vendor 目錄中確實存在許多運行時非必要的文件。VendorCleaner 能夠幫助你快速的縮減 vendor 目錄的體積。而且,它能夠工做在任何使用 Composer 的框架中,而不單單侷限於 laravel。php
在 composer.json 文件中申明依賴:laravel
"five-say/vendor-cleaner": "1.*"
在 composer.json 文件 scripts 屬性中加入對應的腳本事件回調:git
"scripts": { ... "pre-update-cmd": [ "FiveSay\\VendorCleaner::restore" ], "post-update-cmd": [ "FiveSay\\VendorCleaner::backup", ... ], ... },
如此,在每次 update 操做時都將觸發 vendor 目錄的清理程序。github
注意:
FiveSay\\VendorCleaner::backup
負責在每次更新後清理 Vendor 目錄,清理完成後將在 Vendor 同級目錄生成 VendorCleanerBackup 文件夾,用於存放清理出來的文件。而FiveSay\\VendorCleaner::restore
則會在每次更新前將備份的文件放回 Vendor 目錄,以確保 Composer 不會下載多餘的文件,加快更新速度。json
默認使用的規則文件位於 /vendor/five-say/vendor-cleaner/src/FiveSay/VendorCleaner/VendorCleaner.config.php
。若是須要使用自定義的規則,在 Vendor 同級目錄創建自定義的 VendorCleaner.config.php
便可(注意:這將徹底使用用戶自定義規則,而忽略默認規則文件)。composer
這裏有一個簡單的例子:框架
'ircmaxell/password-compat' => 'README.md test'
表示:清理 ircmaxell/password-compat 資源包中的 README.md 文件和 test 目錄。工具