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

السؤال

نشر

السلام عليكم

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

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

Recommended Posts

  • 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

 

  • 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)

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...