【发布时间】:2016-04-01 02:26:56
【问题描述】:
我是 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[] 行更改为:
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 没有加载。我也遵循了文档。
【问题讨论】: