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

السؤال

نشر

السلام عليكم

لدية مشروع به عدة صفحات و اريد ربط كل صفحة ب ملف javaScript منفصل لكن المشكلة هي ان webpack يقوم ب انشاء الملف الاصل فقط و هو index.js و لا ينشئ بقية ملفات javaScript في المجلد dist

كيف جعل webpack يقوم ب انشاء او استدعاء جميع ملفات javaScript المنفصلة من مجلد المشروع الاصلي src

Recommended Posts

  • 0
نشر

تأكد أنك تقوم بإعداد webpack ليقوم بعمل المطلوب على نحو صحيح , ففي الأرجح يتم بناء الملف الأصلي index.js لأنك تقوم بهذا في ملف webpack.config.js : 

entry: { main: path.resolve(__dirname, './src/index.js'), },

ثم تقوم بتضمينه في ملف الـ html : 

<script type="text/html" src="{required('index.js')}"></script>

في حين أنك تحتاج تمرير عدة نقاط وصول لكائن المدخلات entry : 

entry: { 
    main: path.resolve(__dirname, './src/scripts/index.js'), 
    about: path.resolve(__dirname, './src/scripts/about.js'), 
    contact: path.resolve(__dirname, './src/scripts/contact.js'), 
},

ثم يمكنك تضمين كل ملف على حدة في ملفات الـ html التي تقوم ببناءها .

يمكنك القراءة أكثر عن الخاصية entry في دليل Webpack الشامل .

  • 0
نشر
بتاريخ 47 دقائق مضت قال Adnane Kadri:

تأكد أنك تقوم بإعداد webpack ليقوم بعمل المطلوب على نحو صحيح , ففي الأرجح يتم بناء الملف الأصلي index.js لأنك تقوم بهذا في ملف webpack.config.js : 


entry: { main: path.resolve(__dirname, './src/index.js'), },
 

ثم تقوم بتضمينه في ملف الـ html : 


<script type="text/html" src="{required('index.js')}"></script>
 

في حين أنك تحتاج تمرير عدة نقاط وصول لكائن المدخلات entry : 


entry: { 
    main: path.resolve(__dirname, './src/scripts/index.js'), 
    about: path.resolve(__dirname, './src/scripts/about.js'), 
    contact: path.resolve(__dirname, './src/scripts/contact.js'), 
},
 

ثم يمكنك تضمين كل ملف على حدة في ملفات الـ html التي تقوم ببناءها .

يمكنك القراءة أكثر عن الخاصية entry في دليل Webpack الشامل .

لم تنجح هذه الطريقة يظهر لي الخطأ

 Error: Conflict: Multiple chunks emit assets to the same filename main.js (chunks main and about)

  • 0
نشر
بتاريخ 20 دقائق مضت قال HA_shafeai:

لم تنجح هذه الطريقة يظهر لي الخطأ

 Error: Conflict: Multiple chunks emit assets to the same filename main.js (chunks main and about)

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

فعوضا عن مثل هذا : 

output:{
        path:path.join(__dirname,"/dist"),
        filename:"main.js"
},

نحتاج إخراج الملفات على هذا النحو : 

output:{
        path:path.join(__dirname,"/dist"),
        filename:"[name].js"
},

حتى لا يحدث خطأ التعارض الذي ظهر معك , ثم يمكنك بعد ذلك تشغيل أمر البناء بشكل طبيعي : 

npm run build

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...