@endpush @push(\\'scripts\\') @endpush
In diesem Fall wird script1.js vor script2.js geladen, da @push Inhalte in der deklarierten Reihenfolge zum Stapel hinzufügt.
@push(\\'scripts\\') @vite(\\'resources/js/partial-specific.js\\') @endpush
Wenn dieser Teil in einer Ansicht enthalten ist, wird „partial-special.js“ zum Skriptstapel in der Layoutdatei hinzugefügt.
@prepend(\\'scripts\\') @endprepend @push(\\'scripts\\') @endpush
Hier werden Critical.js vor non_critical.js geladen, unabhängig von ihrer Platzierung in der Blade-Datei.
Wenn Sie eine genauere Kontrolle darüber benötigen, wann JavaScript enthalten ist, ermöglichen die bedingten Anweisungen von Laravel eine routen- oder variablenbasierte Logik direkt im Layout.
Sie können Routenprüfungen direkt im Layout verwenden, um JavaScript basierend auf der aktuellen Route einzubinden:
@if (request()->routeIs(\\'some.route.name\\')) @vite(\\'resources/js/custom.js\\')@endif
Um Skripte basierend auf Variablen bedingt zu laden, können Sie im Controller oder in der untergeordneten Ansicht ein Flag setzen und dann im Layout danach suchen:
return view(\\'your.view\\', [\\'loadCustomJS\\' => true]);
@if (!empty($loadCustomJS)) @vite(\\'resources/js/custom.js\\') @endif
Mit diesem Ansatz können Sie das Laden von JavaScript basierend auf bestimmten Variablen oder Routen steuern und so Flexibilität für benutzerdefinierte Seiteneinrichtungen bieten.
Hier ein kurzer Überblick über die besprochenen Methoden:
Mit diesen Optionen können Sie das Laden von JavaScript präzise steuern und so Ihr Laravel 11-Projekt effizient und wartbar machen.
","image":"http://www.luping.net/uploads/20241111/17313105816731b3f508523.jpg","datePublished":"2024-11-11T16:46:05+08:00","dateModified":"2024-11-11T16:46:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}In Laravel 11 kann das Hinzufügen von JavaScript zu Ihrem Projekt dank Vite, dem Standard-Asset-Bundler, ein Kinderspiel sein. So richten Sie Ihr JavaScript für alle möglichen Szenarien ein, von der globalen Einbindung bis zum bedingten Laden in bestimmten Ansichten.
In vielen Fällen möchten Sie möglicherweise JavaScript global in Ihre Laravel-Anwendung einbinden. So organisieren und bündeln Sie JavaScript für eine universelle Einbindung.
Laravel 11 verwendet Vite zur Verwaltung von Vermögenswerten. So konfigurieren Sie es zum Bündeln Ihres JavaScript:
import './custom.js';
@vite('resources/js/custom.js')
Stellen Sie sicher, dass vite.config.js so eingestellt ist, dass @vite-Importe korrekt verarbeitet werden. Standardmäßig sollte es etwa so aussehen:
import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ input: ['resources/js/app.js'], refresh: true, }), ], });
So stellen Sie Ihre Assets mit Vite zusammen:
Um JavaScript-Dateien in Ihre Vorlagen einzuschließen, verwenden Sie die @vite-Direktive:
My Laravel App @vite('resources/js/app.js')
Mit diesem Setup wird JavaScript in einem Laravel 11-Projekt auf der gesamten Website verfügbar sein.
Wenn Sie JavaScript bedingt in bestimmte Ansichten einbinden, ist es wichtig, die Reihenfolge zu verstehen, in der Blade-Vorlagen gerendert werden.
In Laravel werden Layouts zuerst verarbeitet, gefolgt von einzelnen Ansichten und Teilansichten. Hier ist der Rendervorgang:
Aufgrund dieser Reihenfolge funktionieren Standardvariablenprüfungen nicht, wenn Sie JavaScript-Dateien basierend auf dem Inhalt der untergeordneten Ansicht bedingt zum Layout hinzufügen möchten. Für eine flexiblere Handhabung von seitenspezifischem JavaScript müssen Sie die Anweisungen @stack und @push von Blade verwenden.
Zum Hinzufügen von JavaScript zu bestimmten Ansichten bieten die @stack- und @push-Direktiven von Laravel eine effiziente Lösung, die es Ihnen ermöglicht, Skripte bedingt in das Layout einzuschließen.
Erstellen Sie in Ihrem Layout einen Stapel für seitenspezifische Skripte:
My Laravel App @vite('resources/js/app.js') @stack('scripts') @yield('content')
In der spezifischen Blade-Datei, die das JavaScript benötigt, in den Skriptstapel verschieben:
@extends('layout') @section('content') @endsection @push('scripts') @vite('resources/js/custom.js') @endpush
Bei diesem Setup werden „custom.js“ nur einbezogen, wenn diese bestimmte Ansicht geladen wird. Diese Methode bietet eine saubere Lösung, die mit der Renderreihenfolge von Laravel funktioniert und sicherstellt, dass JavaScript-Dateien nach Bedarf bedingt eingebunden werden.
Die Platzierung von @push-Anweisungen in einer Blade-Ansicht ist in erster Linie für die Lesbarkeit und die Reihenfolge der Ausführung wichtig. So nutzen Sie @push effektiv:
@extends('layout') @section('content') @endsection @push('scripts') @vite('resources/js/custom.js') @endpush
@push('scripts') @endpush @push('scripts') @endpush
In diesem Fall wird script1.js vor script2.js geladen, da @push Inhalte in der deklarierten Reihenfolge zum Stapel hinzufügt.
@push('scripts') @vite('resources/js/partial-specific.js') @endpush
Wenn dieser Teil in einer Ansicht enthalten ist, wird „partial-special.js“ zum Skriptstapel in der Layoutdatei hinzugefügt.
@prepend('scripts') @endprepend @push('scripts') @endpush
Hier werden Critical.js vor non_critical.js geladen, unabhängig von ihrer Platzierung in der Blade-Datei.
Wenn Sie eine genauere Kontrolle darüber benötigen, wann JavaScript enthalten ist, ermöglichen die bedingten Anweisungen von Laravel eine routen- oder variablenbasierte Logik direkt im Layout.
Sie können Routenprüfungen direkt im Layout verwenden, um JavaScript basierend auf der aktuellen Route einzubinden:
@if (request()->routeIs('some.route.name')) @vite('resources/js/custom.js') @endif
Um Skripte basierend auf Variablen bedingt zu laden, können Sie im Controller oder in der untergeordneten Ansicht ein Flag setzen und dann im Layout danach suchen:
return view('your.view', ['loadCustomJS' => true]);
@if (!empty($loadCustomJS)) @vite('resources/js/custom.js') @endif
Mit diesem Ansatz können Sie das Laden von JavaScript basierend auf bestimmten Variablen oder Routen steuern und so Flexibilität für benutzerdefinierte Seiteneinrichtungen bieten.
Hier ein kurzer Überblick über die besprochenen Methoden:
Mit diesen Optionen können Sie das Laden von JavaScript präzise steuern und so Ihr Laravel 11-Projekt effizient und wartbar machen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3