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

السؤال

نشر (معدل)

لماذا لا يعمل كود ال 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...