stevedobe / laravel-svelte
在全新的Laravel Breeze或Laravel Jetstream安装中用Svelte替换Vue。
Requires
- illuminate/support: ^11.0
- symfony/finder: ^7.1
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^9.2
- phpstan/phpstan: ^1.11
README
此包将Vue替换为Svelte和TypeScript支持,并在新的Laravel Breeze或Laravel Jetstream安装中可选地添加Eslint、Prettier和Cypress或Playwright。
我的目标是Laravel Svelte仅适用于带有Inertia和Vue的新Laravel Breeze或Laravel Jetstream安装。因此,我将继续将Breeze和Jetstream的更改应用到这个包中,以保持与Laravel安装的同步。
此包将尊重并保留您安装中提供的任何选项,例如暗黑模式、Pest、SSR和团队支持。
但是,您的Laravel安装将出现两个有争议的更改
- 它会安装TypeScript。您可以选择移除它,但请考虑它提供的价值。
- 它会移除Ziggy。如果您喜欢,可以重新安装它。
安装
首先,使用Inertia和Vue安装一个全新的Laravel Breeze或Laravel Jetstream。
- Laravel Breeze带有Inertia和Vue
composer create-project laravel/laravel example-app
cd example-app
composer require laravel/breeze --dev
php artisan breeze:install vue [--dark] [--pest] [--ssr] [--typescript]
- Laravel Jetstream带有Inertia
composer create-project laravel/laravel example-app
cd example-app
composer require laravel/jetstream
php artisan jetstream:install inertia [--dark] [--teams] [--api] [--verification] [--pest] [--ssr]
然后,使用Composer安装Laravel Svelte
composer require stevedobe/laravel-svelte
使用方法
如果您想确切地了解此包对Laravel安装所做的更改,现在为您的项目创建一个Git仓库并进行初始提交。
可选步骤
您可以将Laravel Svelte的配置文件发布到config/laravel-svelte.php并按需修改它。我只想到了两个可能的原因,您可能想这么做
-
您的Laravel安装不是Breeze 2.1或Jetstream 5.2。
- Laravel Svelte绑定到特定的Breeze和Jetstream版本,并且可能只适用于这些版本。目前它支持上述版本。如果您运行的是Breeze或Jetstream的不同版本,您需要更改Laravel Svelte配置文件中的
compatibleWith
设置。如果您的Breeze或Jetstream版本与相应的compatibleWith
版本不匹配,此包将抛出异常。
- Laravel Svelte绑定到特定的Breeze和Jetstream版本,并且可能只适用于这些版本。目前它支持上述版本。如果您运行的是Breeze或Jetstream的不同版本,您需要更改Laravel Svelte配置文件中的
-
您想控制安装的Node包的版本。这些包列在配置文件中。
php artisan vendor:publish --provider="SteveDobe\LaravelSvelte\LaravelSvelteServiceProvider"
执行
要使用Svelte替换Vue,请运行以下命令。您将被提示是否选择安装Eslint、Prettier和Cypress或Playwright。
php artisan stevedobe:swap-vue-with-svelte
注意
- 在package.json中添加了助手以帮助格式化、检查和测试您的应用程序。您可以自由修改或删除这些助手。
- 如果您基于Laravel Jetstream构建项目并且已安装Cypress,请确保将cypress.config.js中的功能与config/fortify.php和config/jetstream.php保持同步。
- 如果您基于Laravel Jetstream构建项目并且已安装Playwright,请确保将tests/Playwright/e2e/helpers.ts中的功能与config/fortify.php和config/jetstream.php保持同步。
- 如果您已安装 Cypress,您可能需要更改 cypress.config.js 中 baseUrl 的端口号。请注意 php artisan serve 提供的端口号。
- 如果您已安装 Playwright,您可能需要更改 playwright.config.ts 中 baseUrl 的端口号。请注意 php artisan serve 提供的端口号。
变更日志
有关最近变更的详细信息,请参阅 变更日志。
贡献
有关详细信息,请参阅 贡献.md。
安全
如果您发现任何安全相关的问题,请通过电子邮件 steve.dobe@webtend.com.au 联系,而不是使用问题跟踪器。
鸣谢
许可证
MIT。有关更多信息,请参阅 许可证文件。