@endpush @push(\\'scripts\\') @endpush
في هذه الحالة، سيتم تحميل script1.js قبل script2.js لأن @push يضيف المحتوى إلى المكدس بالترتيب المعلن عنه.
@push(\\'scripts\\') @vite(\\'resources/js/partial-specific.js\\') @endpush
عندما يتم تضمين هذا الجزئي في طريقة عرض، ستتم إضافة جزئية محددة.js إلى حزمة البرامج النصية في ملف التخطيط.
@prepend(\\'scripts\\') @endprepend @push(\\'scripts\\') @endpush
هنا، سيتم تحميل Critical.js قبل Non_critical.js، بغض النظر عن موضعها في الملف Blade.
إذا كنت بحاجة إلى تحكم أفضل في وقت تضمين JavaScript، فإن عبارات Laravel الشرطية تسمح بالمنطق القائم على المسار أو المتغير مباشرة في التخطيط.
يمكنك استخدام عمليات التحقق من المسار مباشرة في التخطيط لتضمين JavaScript بناءً على المسار الحالي:
@if (request()->routeIs(\\'some.route.name\\')) @vite(\\'resources/js/custom.js\\')@endif
لتحميل البرامج النصية بشكل مشروط بناءً على المتغيرات، يمكنك تعيين علامة في وحدة التحكم أو عرض الطفل، ثم التحقق منها في التخطيط:
return view(\\'your.view\\', [\\'loadCustomJS\\' => true]);
@if (!empty($loadCustomJS)) @vite(\\'resources/js/custom.js\\') @endif
يسمح لك هذا الأسلوب بالتحكم في تحميل JavaScript بناءً على متغيرات أو مسارات محددة، مما يوفر المرونة لإعدادات الصفحة المخصصة.
إليك نظرة عامة سريعة على الطرق التي تمت مناقشتها:
تسمح لك هذه الخيارات بالتحكم في تحميل JavaScript بدقة، مما يجعل مشروع Laravel 11 الخاص بك فعالاً وقابلاً للصيانة.
","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"}}
في Laravel 11، يمكن أن تكون إضافة JavaScript إلى مشروعك أمرًا سهلاً، وذلك بفضل Vite، أداة تجميع الأصول الافتراضية. فيما يلي كيفية إعداد JavaScript لجميع أنواع السيناريوهات، بدءًا من التضمين العام وحتى التحميل المشروط في طرق عرض محددة.
في العديد من الحالات، قد ترغب في تضمين JavaScript عالميًا عبر تطبيق Laravel الخاص بك. فيما يلي كيفية تنظيم جافا سكريبت وتجميعها لتضمينها عالميًا.
يستخدم Laravel 11 Vite لإدارة الأصول. لتكوينه لتجميع جافا سكريبت الخاص بك:
import './custom.js';
@vite('resources/js/custom.js')
تأكد من ضبط vite.config.js للتعامل مع عمليات استيراد @vite بشكل صحيح. بشكل افتراضي، يجب أن يبدو الأمر كما يلي:
import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ input: ['resources/js/app.js'], refresh: true, }), ], });
لتجميع الأصول الخاصة بك مع Vite:
لتضمين ملفات JavaScript في القوالب الخاصة بك، استخدم توجيه @vite:
My Laravel App @vite('resources/js/app.js')
بفضل هذا الإعداد، ستكون JavaScript متاحة على مستوى الموقع في مشروع Laravel 11.
عند تضمين JavaScript بشكل مشروط في طرق عرض محددة، فمن الضروري فهم الترتيب الذي يتم به عرض قوالب Blade.
في Laravel، تتم معالجة التخطيطات أولاً، تليها طرق العرض الفردية والجزئية. إليك عملية العرض:
بسبب هذا الترتيب، إذا كنت تريد إضافة ملفات JavaScript بشكل مشروط في التخطيط بناءً على محتوى العرض الفرعي، فلن تعمل عمليات التحقق من المتغيرات القياسية. ستحتاج إلى استخدام توجيهات Blade @stack و@push للتعامل بشكل أكثر مرونة مع JavaScript الخاصة بالصفحة.
لإضافة JavaScript إلى طرق عرض محددة، توفر توجيهات Laravel @stack و@push حلاً فعالاً، مما يسمح لك بتضمين البرامج النصية بشكل مشروط في التخطيط.
في التخطيط الخاص بك، قم بإنشاء مكدس للنصوص البرمجية الخاصة بالصفحة:
My Laravel App @vite('resources/js/app.js') @stack('scripts') @yield('content')
في ملف Blade المحدد الذي يحتاج إلى JavaScript، ادفع إلى مكدس البرامج النصية:
@extends('layout') @section('content') @endsection @push('scripts') @vite('resources/js/custom.js') @endpush
بفضل هذا الإعداد، لن يتم تضمين custom.js إلا عند تحميل هذا العرض المحدد. توفر هذه الطريقة حلاً نظيفًا يعمل مع ترتيب العرض الخاص بـ Laravel، مما يضمن تضمين ملفات JavaScript بشكل مشروط حسب الحاجة.
إن وضع عبارات @push في عرض Blade مهم بشكل أساسي لسهولة القراءة وترتيب التنفيذ. إليك كيفية استخدام @push بفعالية:
@extends('layout') @section('content') @endsection @push('scripts') @vite('resources/js/custom.js') @endpush
@push('scripts') @endpush @push('scripts') @endpush
في هذه الحالة، سيتم تحميل script1.js قبل script2.js لأن @push يضيف المحتوى إلى المكدس بالترتيب المعلن عنه.
@push('scripts') @vite('resources/js/partial-specific.js') @endpush
عندما يتم تضمين هذا الجزئي في طريقة عرض، ستتم إضافة جزئية محددة.js إلى حزمة البرامج النصية في ملف التخطيط.
@prepend('scripts') @endprepend @push('scripts') @endpush
هنا، سيتم تحميل Critical.js قبل Non_critical.js، بغض النظر عن موضعها في الملف Blade.
إذا كنت بحاجة إلى تحكم أفضل في وقت تضمين JavaScript، فإن عبارات Laravel الشرطية تسمح بالمنطق القائم على المسار أو المتغير مباشرة في التخطيط.
يمكنك استخدام عمليات التحقق من المسار مباشرة في التخطيط لتضمين JavaScript بناءً على المسار الحالي:
@if (request()->routeIs('some.route.name')) @vite('resources/js/custom.js') @endif
لتحميل البرامج النصية بشكل مشروط بناءً على المتغيرات، يمكنك تعيين علامة في وحدة التحكم أو عرض الطفل، ثم التحقق منها في التخطيط:
return view('your.view', ['loadCustomJS' => true]);
@if (!empty($loadCustomJS)) @vite('resources/js/custom.js') @endif
يسمح لك هذا الأسلوب بالتحكم في تحميل JavaScript بناءً على متغيرات أو مسارات محددة، مما يوفر المرونة لإعدادات الصفحة المخصصة.
إليك نظرة عامة سريعة على الطرق التي تمت مناقشتها:
تسمح لك هذه الخيارات بالتحكم في تحميل JavaScript بدقة، مما يجعل مشروع Laravel 11 الخاص بك فعالاً وقابلاً للصيانة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3