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

السؤال

Recommended Posts

  • 1
نشر
  بتاريخ On 23‏/9‏/2021 at 21:45 قال Mohamed Alzurfi:

لقد قمت بتجربة متصفح اخر واضفت كل المكتبات المصطلوبة هذا هو ملف ريكت هل يمكن تجربته مصمم الفرونت اند يرسل لي انه يعمل عنده ولم اجد الحل لماذا لا يعمل ارجوا المساعدة 

أظهر المزيد  

يبدو أن المشروع يعمل بالفعل بشكل سليم، وهو مُجهز ليتم تشغيله من خلال Laravel ، يمكنك تشغيل المشروع من خلال Laravel عبر الخطوات التالية:

  1. تشغيل الأمر التالي في مشروع React:
    npm run build

     

  2. بعد تنفيذ الأمر السابق والإنتهاء منه ستجد أن هناك مجلد جديد ظهر في المشروع باسم build، قم بنسخ كل محتوياته (ماعدا index.html) إلى المجلد public في مشروع Laravel (لا تنسخ المجلد build نفسه بل الملفات والمجلدات التي بداخله فقط)
  3. الآن متبقي في المجلد build الملف index.html فقط، قم بنسخ كل محتوى هذا الملف إلى الملف resources\views\welcome.blade.php (يجب حذف محتويات الملف welcome.blade.php القديمة أولًا)
  4. الآن تستطيع تشغيل المشروع من خلال الأمر التالي (نفذ الأمر في مشروع Laravel):
    php artisan serve

     

ملاحظة: عند إجراء أي تعديل على مشروع React يجب إتباع نفس الخطوات مرة أخرى.

  • 0
نشر

بالتأكيد يمكنك أن تستخدم أي إطار عمل لواجهة المستخدم frontend مثل react.js أو vue.js أو غيرها مع Laravel بدون مشكلة.

بشكل إفتراضي يأتي Laravel مجهز بإطار Vue.js (مع دعم لـ React.js) أيضًا، وستلاحظ ذلك من خلال الملف بصيغة .vue في مجلد resources/js/components، (إن لم يكن لديك هذا المجلد فلا توجد مشكلة) ويمكنك تغير هذا الأمر من خلال تنفيذ الأمر التالي:

composer require laravel/ui
php artisan ui react --auth

بمجرد تنفيذ الأمر السابق ستلاحظ أن الملفات الموجودة في المجلد resources/js/components تم إستبدالها بمكونات React بدلًا من مكونات vue.

أيضًا سوف تحتاج إلى تثبيت مكتبات وحزم عبر npm، على النحو التالي:

npm install

ستجد أن مجلد جديد ظهر باسم node_modules وهذا المجلد يحتوي على كل المكتبات والحزم الضرورية لعمل المشروع (Frontend فقط).

من أجل تقديم أي عنصر إلى Browser DOM ، نحتاج إلى حاوية أو عنصر DOM جذر. في هذه الحالة يجب تعديل الملف resources\views\welcome.blade.php ليحتزي في جسم الصفحة على الكود التالي:

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>

        <link rel="stylesheet" href="css/app.css">
    </head>
    <body>
      
        <!-- سيتم عرض تطبيق react.js هنا -->
        <div id="example"></div>
      
        <script src="js/app.js"></script>
    </body>
</html>

أخيرًا يجب توليد ملف js/app.js الذي تم تضمينه في الكود السابق وذلك عبر الأمر التالي:

npm run dev

ملاحظة: إن كانت هذه المرة الأولى التي تقوم بتنفيذ الأمر السابق، قد تحتاج إلى تنفيذه مرتين بدلًا من مرة واحدة.

الآن تستطيع تشغيل المشروع وستجد أن النتيجة كما في الصورة:

61462aa9c7010_Webcapture_18-9-2021_2051_127.0.0.1.thumb.jpeg.13cae6e63898f82e66a94e47f392c1dd.jpeg

هنا تم عرض مكون React بنجاح.

إن كان لديك مشروع يعمل بالفعل، فكل ما عليك فعله هو إضافة ملف المشروع النهائي (ملف javascript) مكان الملف js/app.j،s ، ونفس الأمر بالنسبة إلى CSS، أو يمكنك دمج المشروع بالكامل من خلال إضافة المكونات إلى المجلد resources/js/components وإستخدام الملف resources\js\app.js كـ Entry point

  • 0
نشر (معدل)
  بتاريخ On 18‏/9‏/2021 at 18:06 قال سامح أشرف:

بالتأكيد يمكنك أن تستخدم أي إطار عمل لواجهة المستخدم frontend مثل react.js أو vue.js أو غيرها مع Laravel بدون مشكلة.

بشكل إفتراضي يأتي Laravel مجهز بإطار Vue.js (مع دعم لـ React.js) أيضًا، وستلاحظ ذلك من خلال الملف بصيغة .vue في مجلد resources/js/components، (إن لم يكن لديك هذا المجلد فلا توجد مشكلة) ويمكنك تغير هذا الأمر من خلال تنفيذ الأمر التالي:

composer require laravel/ui
php artisan ui react --auth

بمجرد تنفيذ الأمر السابق ستلاحظ أن الملفات الموجودة في المجلد resources/js/components تم إستبدالها بمكونات React بدلًا من مكونات vue.

أيضًا سوف تحتاج إلى تثبيت مكتبات وحزم عبر npm، على النحو التالي:

npm install

ستجد أن مجلد جديد ظهر باسم node_modules وهذا المجلد يحتوي على كل المكتبات والحزم الضرورية لعمل المشروع (Frontend فقط).

من أجل تقديم أي عنصر إلى Browser DOM ، نحتاج إلى حاوية أو عنصر DOM جذر. في هذه الحالة يجب تعديل الملف resources\views\welcome.blade.php ليحتزي في جسم الصفحة على الكود التالي:

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>

        <link rel="stylesheet" href="css/app.css">
    </head>
    <body>
      
        <!-- سيتم عرض تطبيق react.js هنا -->
        <div id="example"></div>
      
        <script src="js/app.js"></script>
    </body>
</html>

أخيرًا يجب توليد ملف js/app.js الذي تم تضمينه في الكود السابق وذلك عبر الأمر التالي:

npm run dev

ملاحظة: إن كانت هذه المرة الأولى التي تقوم بتنفيذ الأمر السابق، قد تحتاج إلى تنفيذه مرتين بدلًا من مرة واحدة.

الآن تستطيع تشغيل المشروع وستجد أن النتيجة كما في الصورة:

61462aa9c7010_Webcapture_18-9-2021_2051_127.0.0.1.thumb.jpeg.13cae6e63898f82e66a94e47f392c1dd.jpeg

هنا تم عرض مكون React بنجاح.

إن كان لديك مشروع يعمل بالفعل، فكل ما عليك فعله هو إضافة ملف المشروع النهائي (ملف javascript) مكان الملف js/app.j،s ، ونفس الأمر بالنسبة إلى CSS، أو يمكنك دمج المشروع بالكامل من خلال إضافة المكونات إلى المجلد resources/js/components وإستخدام الملف resources\js\app.js كـ Entry point

أظهر المزيد  

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

 

 

err-react.jpg

danReact.png

تم التعديل في بواسطة Mohamed Alzurfi
  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 16:08 قال Mohamed Alzurfi:

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

أظهر المزيد  

لاحظ أن الخطأ يظهر can't resolve react-router-dom أي أن هذه الحزمة غير موجودة، أعتقد أنك تستخدم بعض الحزم غير المثبتة في المشروع، يمكنك تثبيت كل من حزمة react-router-dom و react-icons من خلال الأمر التالي:

npm install react-router-dom react-icons --save

 

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 16:59 قال سامح أشرف:

لاحظ أن الخطأ يظهر can't resolve react-router-dom أي أن هذه الحزمة غير موجودة، أعتقد أنك تستخدم بعض الحزم غير المثبتة في المشروع، يمكنك تثبيت كل من حزمة react-router-dom و react-icons من خلال الأمر التالي:

npm install react-router-dom react-icons --save

 

أظهر المزيد  

بعد استخدام هذا الامر قل عدد الاخطاء 
كيف يمكن ان اعرف اي حزمة اخرى يجب تثبيتها 

newErr.png

  بتاريخ On 19‏/9‏/2021 at 17:17 قال Mohamed Alzurfi:

بعد استخدام هذا الامر قل عدد الاخطاء 
كيف يمكن ان اعرف اي حزمة اخرى يجب تثبيتها 

newErr.png

أظهر المزيد  

شكرا لقد تم حل الاخطاء لكن الشاسة الان تظهر بيضاء عند فتح الموقع 

don.png

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 17:17 قال Mohamed Alzurfi:

بعد استخدام هذا الامر قل عدد الاخطاء 
كيف يمكن ان اعرف اي حزمة اخرى يجب تثبيتها 

أظهر المزيد  

في رسالة الخطأ يظهر اسم الحزمة أو الملف الذي لم يتم العصور عليه، كما في الصورة:

newErr.thumb.png.b2df69ced2b7bb722ddbde84cc2ad217.png.08c613e94d0dc3b1096054b545f5e27b.png

لاحظ أن الحزم styled-components و react-slick و slick-carousel كلها غير مثبته ويمكنك تثبيتها من خلال الأمر التالي:

npm install styled-components react-slick slick-carousel

أيضًا إن كان مشروع React يعمل بالفعل، وتريد ربطه بـ Laravel فيمكنك معرفة الحزم المستخدمة في مشروع React من خلال الملف package.json (الخاص بمشروع React نفسه وليس مشروع Laravel).

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 17:32 قال سامح أشرف:

في رسالة الخطأ يظهر اسم الحزمة أو الملف الذي لم يتم العصور عليه، كما في الصورة:

newErr.thumb.png.b2df69ced2b7bb722ddbde84cc2ad217.png.08c613e94d0dc3b1096054b545f5e27b.png

لاحظ أن الحزم styled-components و react-slick و slick-carousel كلها غير مثبته ويمكنك تثبيتها من خلال الأمر التالي:

npm install styled-components react-slick slick-carousel

أيضًا إن كان مشروع React يعمل بالفعل، وتريد ربطه بـ Laravel فيمكنك معرفة الحزم المستخدمة في مشروع React من خلال الملف package.json (الخاص بمشروع React نفسه وليس مشروع Laravel).

أظهر المزيد  

شكرا جزيلا على المساعدة . اين المشكلة الان 

1.jpg

2.png

3.png

4.png

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 17:42 قال Mohamed Alzurfi:

شكرا جزيلا على المساعدة . اين المشكلة الان 

أظهر المزيد  

لاحظ أن العنصر #root غير موجود في الملف welcome.blade.php ويوجد بدلًا منه العنصر #app، لذلك يجب تغير ال id من app إلى root في الملف welcome.blade.php

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 17:47 قال سامح أشرف:

لاحظ أن العنصر #root غير موجود في الملف welcome.blade.php ويوجد بدلًا منه العنصر #app، لذلك يجب تغير ال id من app إلى root في الملف welcome.blade.php

أظهر المزيد  
<div id = "root"></div>

لقد قمت بتغير #الى روت ونفس المشكلة الشاشة بيضاء 

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 18:03 قال Mohamed Alzurfi:
<div id = "root"></div>

لقد قمت بتغير #الى روت ونفس المشكلة الشاشة بيضاء 

أظهر المزيد  

هناك عدة أسباب لحدوث هذا الأمر:

هل يحتوي المكون Home على محتوى ليتم عرضه؟ أيضًا يجب التأكد من حفظ كل الملفات.

هل تظهر لك أخطاء في ال console في المتصفح؟

الأمر الأخير هو أنه يجب تنفيذ الأمر npm run dev بعد كل تغير في ملفات js و css.

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 19:05 قال سامح أشرف:

هناك عدة أسباب لحدوث هذا الأمر:

هل يحتوي المكون Home على محتوى ليتم عرضه؟ أيضًا يجب التأكد من حفظ كل الملفات.

هل تظهر لك أخطاء في ال console في المتصفح؟

الأمر الأخير هو أنه يجب تنفيذ الأمر npm run dev بعد كل تغير في ملفات js و css.

أظهر المزيد  

نعم home تحتوي على ملفات يتم عرضها . اما بخصوص console توجد صورة ام بخصوص الامر npm run dev نعم انا اقوم بتنفيذه بعد كل امر

5.png

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 19:39 قال Mohamed Alzurfi:

نعم home تحتوي على ملفات يتم عرضها . اما بخصوص console توجد صورة ام بخصوص الامر npm run dev نعم انا اقوم بتنفيذه بعد كل امر

أظهر المزيد  

هل بإمكانك أن ترفق ملف Home فقط، للتأكد من خلوه من الأخطاء؟

أيضًا فد يكون هناك مشكلة في متصفح الويب الخاص بك بسبب الملفات المؤقتة، لذلك أرجو منك أن تقوم بتجربة المشروع في متصفح آخر أو حذف اللمفات المؤقتة من المتصفح.

  • 0
نشر
  بتاريخ On 19‏/9‏/2021 at 20:39 قال سامح أشرف:

هل بإمكانك أن ترفق ملف Home فقط، للتأكد من خلوه من الأخطاء؟

أيضًا فد يكون هناك مشكلة في متصفح الويب الخاص بك بسبب الملفات المؤقتة، لذلك أرجو منك أن تقوم بتجربة المشروع في متصفح آخر أو حذف اللمفات المؤقتة من المتصفح.

أظهر المزيد  

لقد قمت بتجربة متصفح اخر واضفت كل المكتبات المصطلوبة هذا هو ملف ريكت هل يمكن تجربته مصمم الفرونت اند يرسل لي انه يعمل عنده ولم اجد الحل لماذا لا يعمل ارجوا المساعدة 

yourMaWebsite-new-components.zip

  • 0
نشر
  بتاريخ On 24‏/9‏/2021 at 00:38 قال سامح أشرف:

يبدو أن المشروع يعمل بالفعل بشكل سليم، وهو مُجهز ليتم تشغيله من خلال Laravel ، يمكنك تشغيل المشروع من خلال Laravel عبر الخطوات التالية:

  1. تشغيل الأمر التالي في مشروع React:
    npm run build

     

  2. بعد تنفيذ الأمر السابق والإنتهاء منه ستجد أن هناك مجلد جديد ظهر في المشروع باسم build، قم بنسخ كل محتوياته (ماعدا index.html) إلى المجلد public في مشروع Laravel (لا تنسخ المجلد build نفسه بل الملفات والمجلدات التي بداخله فقط)
  3. الآن متبقي في المجلد build الملف index.html فقط، قم بنسخ كل محتوى هذا الملف إلى الملف resources\views\welcome.blade.php (يجب حذف محتويات الملف welcome.blade.php القديمة أولًا)
  4. الآن تستطيع تشغيل المشروع من خلال الأمر التالي (نفذ الأمر في مشروع Laravel):
    php artisan serve

     

ملاحظة: عند إجراء أي تعديل على مشروع React يجب إتباع نفس الخطوات مرة أخرى.

أظهر المزيد  

شكرا جزيلا لقد تم حل المشكلة بهذه الطريقة 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...