2017-03-09 4 views
0

私は私のMagento2プロジェクトで、次のrequirejs設定を持っている:私は一例でコメントアウトパスは動的にこのリスト以降に解決しなければならないrequirejsのサブフォルダを除外するにはどうしたらいいですか?

define([ 
    "jquery" 
    ], function (jq) { 
    return jq.noConflict(); 
}); 

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ます常に変更してください(ベンダーファイル)。この場合、JS/jqueryのプライベート/ jqueryの-UI-timepickerアドオン

、本当:

私は手動でこれらを追加しない場合は、私は次のエラーを取得: 不明なエラー:スクリプトエラーのためファイルはjs/jquery/jquery-ui-timepicker-addonにあります。ご覧のとおり、jquery /はjquery-private /で解決されています。

この回避策の理由は、必要なjqueryモジュールをnoConflictバージョンとして挿入する必要があるためです。それがなければ、私は次のエラーが発生します。Uncaught TypeError:$ .widgetは関数ではありません。 私は、ベンダーのjsファイルを必要としていますので、私はそこにソースを変更することはできないんだけど...

答えて

0

私は本当にまだ私の問題への完璧な解決策を見つけていないが、私はそれをこのように解決:

var config = { 
    map: { 
    '*': { 
     ... 
    }, 
    'js/jquery-private': { 
     jquery: 'jquery' 
    } 
    } 
}; 

(function (global) { 
    require.baseLoad = require.load; 
    require.load = function (context, moduleName, url) { 
    if (url.indexOf('/jquery.js') !== -1) { 
     url = url.replace('/jquery.js', '/js/jquery-private.js'); 
    } 
    require.baseLoad(context, moduleName, url); 
    }; 
}(this)); 
関連する問題