rahmanramsi / livewire-spa
此包已被废弃且不再维护。未建议替代包。
Laravel Livewire的SPA
0.0.5
2022-03-16 15:38 UTC
Requires
- php: ^8.0
- livewire/livewire: ^2.10
- spatie/laravel-package-tools: ^1.9.2
README
使用Laravel Livewire制作SPA的包装器。
要求
- PHP 8.x或更高版本
- Livewire 2.x或更高版本
安装
composer require rahmanramsi/livewire-spa
配置布局组件
默认情况下,LivewireSpa会将页面组件渲染到位于:resources/views/layouts/app.blade.php
的blade布局组件的{{ $slot }}
中。
您必须首先创建resources/views/layouts/app.blade.php
文件,并将自定义布局添加到其中。
包含资产
在body内添加{{ slot }}
,并在模板中的head
标签和结束body
标签之前添加以下Blade指令。
<html> <head> ... @livewireStyles @livewireSpaStyles </head> <body> {{ $slot }} @livewireScripts @livewireSpaScripts </body> </html>
发布配置文件
php artisan vendor:publish --tag="livewire-spa-config"
这是发布配置文件的内容
return [ 'path' => 'spa', 'layout' => 'layouts.app', 'single_page' => \Rahmanramsi\LivewireSpa\Http\Livewire\SinglePage::class, 'pages' => [ 'default' => null, 'error' => \Rahmanramsi\LivewireSpa\Http\Livewire\Pages\ErrorPage::class, 'namespace' => 'App\\Http\\LivewireSpa', 'path' => app_path('Http/LivewireSpa'), 'register' => [], ], 'middleware' => ['web'], 'livewire' => [ 'namespace' => 'App\\Http\\LivewireSpa', 'path' => app_path('Http/LivewireSpa'), ], ];
使用
创建页面
您可以使用以下命令创建页面
php artisan make:livewire-spa PageName
您的项目创建了两个新文件
app\LivewireSpa\PageName.php
resources\views\livewire-spa\page-name.blade.php
如果您希望在子文件夹中创建页面,可以使用以下不同的语法
php artisan make:livewire-spa SubFolder/PageName
现在,创建的两个文件将位于子文件夹中
app\LivewireSpa\SubFolder\PageName.php
resources\views\livewire-spa\sub-folder\page-name.blade.php
在页面之间导航
只需使用默认的a[href]
标签,它将自动检测。如果您不希望LivewireSpa阻止默认行为,只需在a
标签中添加native
属性。
路线图
- 编写测试
- 演示页面
- 文档页面
- 启动包
贡献
有关详细信息,请参阅CONTRIBUTING。
安全漏洞
请查阅我们的安全策略,了解如何报告安全漏洞。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。