Xin chào, tôi mới biết về Magento2 và đang cố gắng tìm hiểu cách thức hoạt động của RequireJS trong Magento.
Đây là tình huống của tôi:
Tôi có mô-đun sau:
app/code/Mymodule/Test/view/frontend/requirejs-config.js
Đây là nội dung của tập tin này:
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'
}
}
};
Chủ đề của tôi là ở vị trí này:
app/design/frontend/Mycompany/Basic
Javascripts của tôi ở vị trí sau:
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
Trong tệp PHTML:
app/code/Mymodule/Test/view/frontend/templates/home.phtml
Tôi đã thêm các dòng:
require(['jqueryNoConflict', 'flexslider'],function($, flexslider){
(function($) {
$(window).load(function () {
$('.flexslider').flexslider();
});
})(jQuery);
});
Khi tôi kiểm tra trang của mình trong trình duyệt, tôi gặp lỗi 404 với các đường dẫn:
http://mag2.com.local/pub/static/frontend/Mycompany/Basic/en_US/flexslider.js
Nhưng nếu tôi thay đổi dòng [] thành này:
require(['Mymodule_Test/js/jquery.no-conflict', 'Mymodule_Test/js/jquery.flexslider-min'],function($, flexslider){
(function() {
$(window).load(function () {
$('.flexslider').flexslider();
});
})(jQuery);
});
các tập tin đang tải.
Tôi cũng xóa bộ nhớ cache, chủ đề của tôi là chính xác, tôi đã thực hiện lệnh:
php bin/magento setup:static-content:deploy
Vì vậy, tôi không thể tìm ra lý do tại sao requestjs-config.js của tôi không tải. Tôi làm theo các tài liệu là tốt.
Xin vui lòng giúp đỡ