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

كيفية معرفة اصدارات الحزم المتوافقة بين بعضها

Ali Khadra2

السؤال

لماذا لا يعمل كود ال jquery هنا ؟! وكيف نحل مشكلة عدم توافق الاصدارات بين بعضها ضمن المشروع ؟

هذه اصدارات الحزم عندي من package.json:   

"expose-loader": "^2.0.0",
"jquery": "^3.6.0",
"webpack": "^5.35.0",

وهذا سطر الاستدعاء من ملف index.js:

import 'jquery/dist/jquery.min';

وهذا تضمينه داخل webpack.config.js:  

 {

  test: require.resolve('jquery'),

                loader: 'expose-loader',

                options: {

                    exposes: ['$', 'jquery', 'jQuery'],

               }

          },

وهذا هو الكود الذي لم يعمل :

$(function () {

    $('.add-to-cart-btn').on("click", function () {

        alert('أضيف المُنتج إلى السلة');   

    });

});

 

تم التعديل في بواسطة Wael Aljamal
وضع الأكواد ضمن محرر الأكواد
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

المشكلة ليست في إصدارات الحزم . 

 //  jquery هذا الكود يعمل في جميع إصدارات 

$(function () {

    $('.add-to-cart-btn').on("click", function () {

        alert('أضيف المُنتج إلى السلة');   

    });

});

المشكلة في في كيفية تضمينك ل jquery في webpack

لكي تقوم بضمين jquery في webpack توجد العديد من الطرق أسهلها:

في ملف  webpack.config.js الخاص بك في المكون plugins ضع الكود التالي:

plugins: [
    new webpack.ProvidePlugin({
      $: "jquery",
      jQuery: "jquery"
    })
  ]

هذا يعني أنه يمكن الوصول إلى jquery من داخل شفرة مصدر JavaScript عبر المراجع العالمية $ و jQuery.

بالطبع ، تحتاج أيضًا إلى تثبيت jquery عبر npm:

$ npm i jquery --save

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

ولكن أرى أنك تستخدم ال expose-loader لذلك الحل بالنسبة لك فقط جرب استدعاء المكتبة كالتالي 

import $ from "jquery";
//بدلاً من 
import 'jquery/dist/jquery.min';

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...