สวัสดีฉันยังใหม่กับ Magento2 และพยายามหาวิธีที่ RequireJS ทำงานใน Magento
นี่คือสถานการณ์ของฉัน:
ฉันมีโมดูลดังต่อไปนี้:
app/code/Mymodule/Test/view/frontend/requirejs-config.js
นี่คือเนื้อหาของไฟล์นี้:
var config = {
map: {
'*': {
jQuery110: "Mymodule_Test/js/jquery-1.10.2",
jqueryNoConflict: 'Mymodule_Test/js/jquery.no-conflict',
flexslider: 'Mymodule_Test/js/jquery.flexslider-min',
header: 'Mymodule_Test/js/store/header'
}
}
};
ธีมของฉันอยู่ที่ตำแหน่งนี้:
app/design/frontend/Mycompany/Basic
Javascript ของฉันอยู่ที่ตำแหน่งต่อไปนี้:
app/code/Mymodule/Test/view/frontend/web/js/jquery.no-conflict.js
app/code/Mymodule/Test/view/frontend/web/js/jquery.flexslider-min.js
app/code/Mymodule/Test/view/frontend/web/js/store/header.js
ในไฟล์ PHTML:
app/code/Mymodule/Test/view/frontend/templates/home.phtml
ฉันเพิ่มบรรทัด:
require(['jqueryNoConflict', 'flexslider'],function($, flexslider){
(function($) {
$(window).load(function () {
$('.flexslider').flexslider();
});
})(jQuery);
});
เมื่อฉันตรวจสอบหน้าของฉันในเบราว์เซอร์ฉันได้รับข้อผิดพลาด 404 กับเส้นทาง:
http://mag2.com.local/pub/static/frontend/Mycompany/Basic/en_US/flexslider.js
แต่ถ้าฉันเปลี่ยนบรรทัด [] ต้องการเป็น:
require(['Mymodule_Test/js/jquery.no-conflict', 'Mymodule_Test/js/jquery.flexslider-min'],function($, flexslider){
(function() {
$(window).load(function () {
$('.flexslider').flexslider();
});
})(jQuery);
});
กำลังโหลดไฟล์
ฉันล้างแคชด้วยธีมของฉันถูกต้องฉันใช้คำสั่ง:
php bin/magento setup:static-content:deploy
ดังนั้นฉันไม่สามารถทราบได้ว่าทำไม requirejs-config.js ของฉันจึงไม่โหลด ฉันทำตามเอกสารเช่นกัน
กรุณาช่วย