Turbolink не работает в Livewire версии 2
Я работаю над своим новым проектом и технологическим стеком: laravel 8 + Livewire V2 + Jetstream для создания одностраничного приложения (SPA). но я все еще не понимаю, возможно ли это SPA в моем выбранном технологическом стеке или нет.
Я знаю, что Livewire больше не поддерживает Turbolinks из коробки, поэтому они предоставили адаптер Turbolinks . Я следил за документацией, но, похоже, она не работает. пожалуйста, помогите мне разобраться в проблеме и сообщите, возможно ли использование SPA в Livewire версии 2.
вот мой код:
<div class="min-h-screen bg-gray-100">
@livewire('navigation-menu')
<!-- Page Heading -->
@if (isset($header))
<header class="bg-white shadow">
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
{{ $header }}
</div>
</header>
@endif
<!-- Page Content -->
<main>
{{ $slot }}
</main>
</div>
@stack('modals')
@livewireScripts
<script src="https://cdn.jsdelivr.net/gh/livewire/turbolinks@v0.1.x/dist/livewire-turbolinks.js" data-turbolinks-eval="false"></script>
4 ответа
Livewire Version 1 supported Turbolinks internally. Livewire Version 2 has removed internal support and extracted it into this plugin.
The goal of this livewire version 2 is to provide full support in Livewire.
- add Turbolinks/Turbohotwired/turbo package on your layout below @livewireScripts
- add livewire/turbolinks package on your layout below hotwired/turbo package
@livewireScripts
<script type="module">
import hotwiredTurbo from 'https://cdn.skypack.dev/@hotwired/turbo';
</script>
<script src="https://cdn.jsdelivr.net/gh/livewire/turbolinks@v0.1.x/dist/livewire-turbolinks.js" data-turbolinks-eval="false" data-turbo-eval="false"></script>
Сначала вам необходимо установить модуль Turbolink, пожалуйста, перейдите сюда в документации Turbolinks .
Поддержка Turbolink была удалена в Livewire 2. Поэтому вам нужно добавить дополнительный сценарий JS, чтобы он работал. Подробнее здесь => https://github.com/livewire/turbolinks
Просто добавьте это после вашего скрипта livewire:
<script src="https://cdn.jsdelivr.net/gh/livewire/turbolinks@v0.1.x/dist/livewire-turbolinks.js" data-turbolinks-eval="false" data-turbo-eval="false"></script>
Пример:
@livewireScripts
<script src="https://cdn.jsdelivr.net/gh/livewire/turbolinks@v0.1.x/dist/livewire-turbolinks.js" data-turbolinks-eval="false" data-turbo-eval="false"></script>