Skip to main content

前言

啟動套件是於 laravel new 建立應用程式時,透過 create-project 展開的範本專案。Laravel 13 的官方啟動套件有 React / Vue / Svelte / Livewire 四種,包含驗證與初始 UI。 當您要建立自訂啟動套件時,該做的事情相同。以 Laravel 應用程式為基礎進行整備後,作為 Composer 套件公開。

啟動套件的建立

初始化 Laravel 專案

首先建立作為範本的 Laravel 專案,並整理不需要的範例程式碼。接著在 composer.jsonname 中設定唯一的套件名稱。
name 就是稍後於 laravel new my-app --using=example/starter-kit 中使用的識別碼。

設定 composer.json 的 scripts

laravel new 執行後,啟動套件端的 Composer scripts 會用於初始化流程。至少要備齊 post-root-package-installpost-create-project-cmd
此範例是以 laravel/react-starter-kit 的 composer.json 為基礎的組成。若使用資料庫可直接沿用。

以 .gitattributes 控制發布對象

將希望存在於啟動套件儲存庫但不希望包含於使用者生成專案中的檔案,以 export-ignore 排除。
詳情請參考 .gitattributes 的官方範例

於 Packagist 註冊

若要讓使用者可透過 --using 使用,需於 Packagist 註冊。
1

於 GitHub 準備公開儲存庫

使 composer.jsonname 與儲存庫 URL 一致並公開。
2

於 Packagist 註冊

Packagist 註冊儲存庫。公開後 example/starter-kit 便可被解析。
3

於 README 明確標示使用指令

於 README 為使用者記載下列導入指令。

laravel new 指令的流程

laravel/installerNewCommand 於指定啟動套件時會切換 create-project 目標並依序執行初始化指令。 NewCommand.php 想確認的部分:

前端框架的選擇

Laravel 13 的官方啟動套件提供 React / Vue / Svelte / Livewire,但自訂啟動套件不必配合此組合。可依目的自由決定 CSS 或 component library、驗證方式。
社群啟動套件通常會採用與官方不同的 CSS 基礎。驗證也不必以 Fortify 為前提,請依需求設計。

版本升級維護

啟動套件並非「建立後就結束」。要配合 Laravel 或 PHP 的更新持續跟進。

Laravel、PHP 版本升級對應

首先更新 composer.json 的要求,並於 CI 確認相容性。
於 Laravel 主版本升級時,請同時檢視 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 發布後立即跟進的運作。
  • 合併閱讀相關指南:合併閱讀套件開發基礎套件的版本相容性管理可使設計更穩定。
最後修改於 2026年8月2日