0
我有以下requirejs配置在我Magento2項目:如何排除requirejs中的子文件夾?
var config = {
map: {
'*': {
productView: 'Mediahuis_Base/js/product-view',
refreshCartScript: 'Mediahuis_Base/js/checkout/refresh-cart',
addressCompletion: 'Mediahuis_Base/js/address/completion',
addressCompletionHelper: 'Mediahuis_Base/js/address/completion-helper',
prepareCheckoutShipping: 'Mediahuis_Base/js/checkout/shipping-prepare',
jquery: 'js/jquery-private',
/*'jquery/jquery.mobile.custom': 'jquery/jquery.mobile.custom',
'jquery/jquery-migrate': 'jquery/jquery-migrate',
'jquery/jquery-storageapi': 'jquery/jquery-storageapi',
'jquery/ui': 'jquery/ui',
'jquery/jquery.cookie': 'jquery/jquery.cookie',
'jquery/validate': 'jquery/validate',
'jquery/jquery-ui-timepicker-addon': 'jquery/jquery-ui-timepicker-addon',
'jquery/jquery.metadata': 'jquery/jquery.metadata'/**/
},
'js/jquery-private': {
jquery: 'jquery'
}
}
};
JS/jQuery的private.js
define([
"jquery"
], function (jq) {
return jq.noConflict();
});
我的例子中註釋掉的路徑應動態,因爲這個名單加以解決會隨時更改(供應商文件)。
當我不手動添加這些,我得到以下錯誤:未捕獲 錯誤:腳本錯誤:JS/jQuery的私有/ jQuery的UI-timepicker-插件
在這種情況下,真正的文件位於js/jquery/jquery-ui-timepicker-addon中。正如你所看到的,jquery /也在jquery-private /中解決。
此變通辦法的原因是需要將所需的jquery模塊作爲noConflict版本插入。沒有它,我得到以下錯誤:Uncaught TypeError:$ .widget不是一個函數。 由於我需要廠商js文件,我不能夠改變那裏的源...