اذهب إلى المحتوى

السؤال

نشر

السلام عليكم, 

الخطأ:

Untitled.thumb.png.9950c761a4b8e260fa057d7e4aaa9656.png

في الآونة الأخيرة إستبدلت laravel محزِّم الوحدات webpack بــ vite, و أظن هو سبب المشكلة التي ظهرت لي, لا أدري بالضبط ما الخلل ولكنني أتوقع أنه تضارب بين الملفات داخل المشروع لأنه نزل مع المشروع webpack.mix.js و كذلك vite.conig.js 

Untitled.thumb.png.b7fc39ffc4f25b8925c77a49d85671d7.png

إصدار لارافل 

Laravel Framework 9.22.1

اما في الإصدار السابق Laravel Framework 9.22.0  لم أواجه هذه المشكلة وتم إستخدام vite بشكل جيد,

مجلد المشروع :b-store.rar

 

Recommended Posts

  • 1
نشر

قمت باعداد بيئة اختبارية مناسبة، أظن ان المشكلة تحديدا هي في تكوين ملف manifest.json من طرف vite نفسه.

لجبر توليد هذا الملف في وضع البناء يوجد الخيار build.manifest ضمن كائن اعداد vite في ملف vite.config.js، تعريفه سيحل كامل المشكلة:

export default defineConfig({
    build: {
        // generate manifest.json in outDir
        manifest: true,
    },
    ..

ثم بالطبع اعادة بناء الاصول عن طريق npm run dev. 

قد تواجه مشكلة تخبرك ان vite غير معرف ضمن المشروع، يمكنك تثبيته هو الآخر عن طريق 

npm install vite --save-dev

نفس الامر بالنسبة للوحدة laravel-vite-plugin

npm install laravel-vite-plugin --save-dev

ثم npm run dev مجددا. ابق خادم npm مشغلا وشغل php artisan serve وسيعمل معك المشروع بشكل طبيعي.

أظن ان هاته التعارضات هي بسبب كون النسخة المستعملة من لارافيل نسخة انتقالية فقط، لم يتم فيها اعداد vite بشكل نهائي ولذلك فانه من الطبيعي ان تحدث مثل هاته المشاكل.

ان كان لا بد من العمل على هاته النسخة، قم بتعريف امر جديد npm run build موافق لـ vite build في ملف package.json لاخراج ملفات الاصول لاحقا

"scripts": {
        "build":"vite build",
        "dev": "vite",
        ..

اعد تشغيل npm run build وستجد انه يتم توليد الملف المشار اليه بشكل عادي. (لاحظ مجلد build الذي ظهر داخل public). قم بتعديل هذا السطر من ملف manifest.json يدويا:

"resources/css\\app.css": 

ليصبح:

"resources/css/app.css": 

(لاحظ ان هاته الخطوة ضرورية لتجنب مشكلة عدم التعرف على app.css بعد البناء عن طريق npm run build) ثم قم بتحديث الصفحة.

سيظهر تطبيقك بشكل عادي، يمكن العمل عليه على التطوير والانتاج على حد سواء

screenshot-2022-07-27-22-43-12.thumb.png.bf6beb45a785380f7edf95a8524da91a.png

اخبرني ما ان لم يحل هذا المشكلة لديك.

  • 1
نشر
بتاريخ On 27/07/2022 at 23:20 قال Brahim Semmani:

السلام عليكم, 

طبقت جميع ماذكرت وعند تنفيد الأمر npm run build يظهر الخطأ التالي :

شكرا لك

نفذ الأمر 

npm install @types/node --save-dev

سيتم تثبيت كامل ملحقات Node. التي Node:path هو من بينها.

  • 0
نشر

ما هي نسخة node التي تستعملها؟

ملف manifest.json المشار اليه هو ملف يصف طريقة عمل vite في وضع manifest وهو وضع يسمح للتطبيق أن يظل متاحا حتى في حالات لا يتم فيها تشغيل بيئة التطوير. يحتمل ان هنالك مشكلة بتكوينه.

جرب اعادة تثبيت اعتماديات Node وتحزيم ملفات الاصول عن طريق الامرين:

npm install 
npm run dev
  • 0
نشر
بتاريخ 8 ساعات قال Adnane Kadri:

ما هي نسخة node التي تستعملها؟

ملف manifest.json المشار اليه هو ملف يصف طريقة عمل vite في وضع manifest وهو وضع يسمح للتطبيق أن يظل متاحا حتى في حالات لا يتم فيها تشغيل بيئة التطوير. يحتمل ان هنالك مشكلة بتكوينه.

جرب اعادة تثبيت اعتماديات Node وتحزيم ملفات الاصول عن طريق الامرين:


npm install 
npm run dev

للأسف فعلت هذين الأمرين أخي عدنان من قبل وأعدتهم الآن, لابد وانها مشكلة أخرى, أرفقت لك مجلد المشروع إطلع عليه لو سمحت.

  • 0
نشر
بتاريخ 14 دقائق مضت قال Brahim Semmani:

للأسف فعلت هذين الأمرين أخي عدنان من قبل وأعدتهم الآن, لابد وانها مشكلة أخرى, أرفقت لك مجلد المشروع إطلع عليه لو سمحت.

لا امتلك بيئة مناسبة يمكن من عليها اختبار المشروع.

ان كان لا يوجد اي مشكلة بتكوين ملفات الاصول فيمكنك تضمينها مباشرة كروابط عادية:

<script src="{{ asset('js/app.js') }}"></script>
<link rel="stylesheet" href="{{ asset('css/app.css') }}">

في ملفات ال layouts بدل:

@vite(['resources/css/app.css', 'resources/js/app.js'])

في ملفي app.blade.php و guest.blade.php 

يقصد بـ vite manifest عن تعليمة القالب vite@ ايضا. انت في الارجح لن تحتاجه ان كانت هناك مشكلة بتكوينه.

  • 0
نشر
بتاريخ 8 ساعات قال Adnane Kadri:

لا امتلك بيئة مناسبة يمكن من عليها اختبار المشروع.

ان كان لا يوجد اي مشكلة بتكوين ملفات الاصول فيمكنك تضمينها مباشرة كروابط عادية:


<script src="{{ asset('js/app.js') }}"></script>
<link rel="stylesheet" href="{{ asset('css/app.css') }}">

في ملفات ال layouts بدل:


@vite(['resources/css/app.css', 'resources/js/app.js'])

في ملفي app.blade.php و guest.blade.php 

يقصد بـ vite manifest عن تعليمة القالب vite@ ايضا. انت في الارجح لن تحتاجه ان كانت هناك مشكلة بتكوينه.

هي مضمنة بالفعل لا ادري ما المشكلة 

  • 0
نشر
بتاريخ الآن قال Brahim Semmani:

هي مضمنة بالفعل لا ادري ما المشكلة 

هل لا تزال المشكلة تظهر رغم تضمين الملفات يدويا؟

بتاريخ 4 دقائق مضت قال Adnane Kadri:

ان كان لا يوجد اي مشكلة بتكوين ملفات الاصول فيمكنك تضمينها مباشرة كروابط عادية:


<script src="{{ asset('js/app.js') }}"></script>
<link rel="stylesheet" href="{{ asset('css/app.css') }}">

في ملفات ال layouts بدل:


@vite(['resources/css/app.css', 'resources/js/app.js'])

في ملفي app.blade.php و guest.blade.php

 

  • 0
نشر

نعم, 

شوف خويا عدنان 

    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },

ضمنت يدويا في app 

      <script src="{{ asset('js/app.js') }}"></script>
     <link rel="stylesheet" href="{{ asset('css/app.css') }}">

نفس المشكلة 

الصفحة guest تظهر عادي

http://localhost:8000/login

 

  • 0
نشر
بتاريخ 8 ساعات قال Adnane Kadri:

قمت باعداد بيئة اختبارية مناسبة، أظن ان المشكلة تحديدا هي في تكوين ملف manifest.json من طرف vite نفسه.

لجبر توليد هذا الملف في وضع البناء يوجد الخيار build.manifest ضمن كائن اعداد vite في ملف vite.config.js، تعريفه سيحل كامل المشكلة:


export default defineConfig({
    build: {
        // generate manifest.json in outDir
        manifest: true,
    },
    ..

ثم بالطبع اعادة بناء اعتماديات npm عن طريق npm run dev. 

قد تواجه مشكلة تخبرك ان vite غير معرف ضمن المشروع، يمكنك تثبيته هو الآخر عن طريق 


npm install vite --save-dev

نفس الامر بالنسبة للوحدة laravel-vite-plugin


npm install laravel-vite-plugin --save-dev

ثم npm run dev مجددا. ابق خادم npm مشغلا وشغل php artisan serve وسيعمل معك المشروع بشكل طبيعي.

أظن ان هاته التعارضات هي بسبب كون النسخة المستعملة من لارافيل نسخة انتقالية فقط، لم يتم فيها اعداد vite بشكل نهائي ولذلك فانه من الطبيعي ان تحدث مثل هاته المشاكل.

ان كان لا بد من العمل على هاته النسخة، قم بتعريف امر جديد npm run build موافق لـ vite build في ملف package.json لاخراج ملفات الاصول لاحقا


"scripts": {
        "build":"vite build",
        "dev": "vite",
        ..

اعد تشغيل npm run build وستجد انه يتم توليد الملف المشار اليه بشكل عادي. (لاحظ مجلد build الذي ظهر داخل public). قم بتعديل هذا السطر من ملف manifest.json يدويا:


"resources/css\\app.css": 

ليصبح:


"resources/css/app.css": 

(لاحظ ان هاته الخطوة ضرورية لتجنب مشكلة عدم التعرف على app.css بعد البناء عن طريق npm run build) ثم قم بتحديث الصفحة.

سيظهر تطبيقك بشكل عادي، يمكن العمل عليه على التطوير والانتاج على حد سواء

screenshot-2022-07-27-22-43-12.thumb.png.bf6beb45a785380f7edf95a8524da91a.png

اخبرني ما ان لم يحل هذا المشكلة لديك.

السلام عليكم, 

طبقت جميع ماذكرت وعند تنفيد الأمر npm run build يظهر الخطأ التالي :

Untitled.thumb.png.4283095ba2233d60922a97767de5e4e0.png

شكرا لك

  • 0
نشر

السلام عليكم,

سبب المشكلة تعارضات في إصدار لارافل مثل ماقلت اخي عدنان, لهذا قمت بإلغاء التضمين للاصول عن طريق vite و ضمنتها كالتالي :

        <script src="{{ asset('js/app.js') }}"></script>
        <link rel="stylesheet" href="{{ asset('css/app.css') }}">

قبل ذلك لم ازل سطر التضمين عن طريق vit لهذا لم تحل المشكلة, شكرا

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...