前言
啟動套件是於laravel new 建立應用程式時,透過 create-project 展開的範本專案。Laravel 13 的官方啟動套件有 React / Vue / Svelte / Livewire 四種,包含驗證與初始 UI。
當您要建立自訂啟動套件時,該做的事情相同。以 Laravel 應用程式為基礎進行整備後,作為 Composer 套件公開。
- 官方文件:Starter Kits
- 官方實作範例:laravel/react-starter-kit
- 參考頁面:Laravel Console Starter
啟動套件的建立
初始化 Laravel 專案
首先建立作為範本的 Laravel 專案,並整理不需要的範例程式碼。接著在composer.json 的 name 中設定唯一的套件名稱。
name 就是稍後於 laravel new my-app --using=example/starter-kit 中使用的識別碼。
設定 composer.json 的 scripts
於laravel new 執行後,啟動套件端的 Composer scripts 會用於初始化流程。至少要備齊 post-root-package-install 與 post-create-project-cmd。
以 .gitattributes 控制發布對象
將希望存在於啟動套件儲存庫但不希望包含於使用者生成專案中的檔案,以export-ignore 排除。
於 Packagist 註冊
若要讓使用者可透過--using 使用,需於 Packagist 註冊。
1
於 GitHub 準備公開儲存庫
使
composer.json 的 name 與儲存庫 URL 一致並公開。2
於 Packagist 註冊
於 Packagist 註冊儲存庫。公開後
example/starter-kit 便可被解析。3
於 README 明確標示使用指令
於 README 為使用者記載下列導入指令。
laravel new 指令的流程
laravel/installer 的 NewCommand 於指定啟動套件時會切換 create-project 目標並依序執行初始化指令。
於 NewCommand.php 想確認的部分:
前端框架的選擇
Laravel 13 的官方啟動套件提供 React / Vue / Svelte / Livewire,但自訂啟動套件不必配合此組合。可依目的自由決定 CSS 或 component library、驗證方式。社群啟動套件通常會採用與官方不同的 CSS 基礎。驗證也不必以 Fortify 為前提,請依需求設計。
版本升級維護
啟動套件並非「建立後就結束」。要配合 Laravel 或 PHP 的更新持續跟進。Laravel、PHP 版本升級對應
首先更新composer.json 的要求,並於 CI 確認相容性。
laravel/framework 與周邊相依。
定期更新相依套件
前端相依變化較快,建議每月排入更新任務較為安全。- Tailwind
- component library(shadcn/ui、shadcn-vue、shadcn-svelte、Flux UI)
- Inertia / Livewire 相關套件
相容性測試
CI 中至少應加入下列確認。composer install是否成功php artisan test是否通過npm install && npm run build是否通過
最佳實踐
name於早期確定:於 Packagist 公開後變更成本高。- scripts 以官方範例為基準:破壞初始化流程會使導入失敗增加。
- 首先整備
.gitattributes:可減少範本發布時的雜訊。 - 升級常態化:建立可於 Laravel 發布後立即跟進的運作。
- 合併閱讀相關指南:合併閱讀套件開發基礎與套件的版本相容性管理可使設計更穩定。