rahmanramsi/livewire-spa

此包已被废弃且不再维护。未建议替代包。

Laravel Livewire的SPA

0.0.5 2022-03-16 15:38 UTC

This package is auto-updated.

Last update: 2022-11-16 16:58:57 UTC


README

Latest Version on Packagist Total Downloads

使用Laravel Livewire制作SPA的包装器。

要求

  1. PHP 8.x或更高版本
  2. 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)。有关更多信息,请参阅许可文件