আমি ম্যাজেন্টো 2-র জন্য একটি মডিউল বিকাশ করছি এবং আমি jquery এর উপর নির্ভরশীল কাস্টম জাভাস্ক্রিপ্ট লোড করতে প্রয়োজনীয় জেএস ব্যবহার করছি। আমি কাস্টম স্ক্রিপ্ট এবং jquery মধ্যে এই নির্ভরতা সেট করতে প্রয়োজনীয় js-config.js এ শিম বিকল্পটি ব্যবহার করছি। বিষয়টি হ'ল এই নির্ভরতা (সর্বদা) সেট করা হয় না। কখনও কখনও jQuery স্ক্রিপ্টের আগে লোড করে এবং সব ঠিক হয়ে যায় তবে কখনও কখনও স্ক্রিপ্টগুলির পরে স্ক্রিপ্ট ত্রুটির ফলে এটি লোড হয়:
Uncaught ReferenceError: jQuery is not defined(anonymous function) @ jquery.easing.1.3.js:39
Uncaught ReferenceError: jQuery is not defined(anonymous function) @ jquery.flexslider-min.js:5
Uncaught TypeError: $(...).flexslider is not a function
আমার প্রয়োজনীয়js-config.js এর উদাহরণ নীচে দেখুন:
var config = {
map: {
'*': {
'flexslider': 'Vendor_Modulejs/jquery.flexslider-min',
'picturefill': 'Vendor_Modulejs/picturefill.min',
'easing': 'Vendor_Modulejs/jquery.easing.1.3',
'hoverintent': 'Vendor_Modulejs/jquery.hoverIntent',
'fitvids': 'Vendor_Modulejs/jquery.fitvids',
'vimeo': 'Vendor_Modulejs/jquery.vimeo.api.min'
}
},
shim: {
'flexslider': ['jquery'],
'picturefill': ['jquery'],
'easing': ['jquery'],
'hoverintent': ['jquery'],
'fitvids': ['jquery'],
'vimeo': ['jquery']
}
};
এটি আমার পিএইচটিএমএল ফাইলের জাভাস্ক্রিপ্ট:
require(['jquery', 'domReady!', 'picturefill', 'flexslider', 'easing', 'hoverintent', 'fitvids', 'vimeo'], function($) {
"use strict";
// javascript here
});
আমি এখানে কী ভুল করছি, শিম বিকল্পটি কেন সম্মানিত নয় এবং অন্যান্য স্ক্রিপ্টগুলির আগে jQuery সর্বদা লোড হয় না।