2013-05-07 22 views
7

我想測試使用一個實習生項目Require.js。我運行到哪裏被加載的jQuery插件jQuery的時候沒有定義在我的測試誤差。我的裝載機配置是這樣的:實習生配置不處理AMD墊片

loader: { 
    // Aliased paths 
    paths: { 
    'dt': 'dt', 
    'jq': 'jquery', 

    'jquery': 'jquery/jquery-1.8.3', 
    'jquerymx': 'jquery/jquerymx-3.2.custom', 
    'jquery.ui': 'jquery/jquery-ui-1.9.2.custom.min', 
    'jquery.ui.widget': 'jquery/jquery.ui.widget', 
    'jquery.jscrollpane': 'jquery/jquery.jscrollpane.min.edit', 
    'jquery.colorbox': 'jquery/jquery.colorbox-min', 
    'jquery.selectbox': 'jquery/jquery.selectbox-0.2.min.edit', 
    'jquery.base64': 'jquery/jquery.base64', 
    'jquery.cookie': 'jquery/jquery.cookie', 
    'jquery.urldecoder': 'jquery/jquery.urldecoder.min', 
    'jquery.fileupload': 'jquery/jquery.fileupload', 
    'jquery.history': 'history/scripts/compressed/history.adapter.jquery', 

    'openajax': 'openajax_2.0.7/OpenAjaxUnmanagedHub', 
    'zeroclipboard': 'zeroclipboard/ZeroClipboard' 
    }, 

    // Plugin mappings 
    map: { 
    '*': { 
     'css': 'requirejs/require-css/css', 
     'text': 'requirejs/text' 
    } 
    }, 

    // Shims for non-AMD libraries, mainly jQuery plugins 
    shim: { 
    'openajax': { 
     exports: 'OpenAjax' 
    }, 

    'zeroclipboard': { 
     exports: 'ZeroClipboard' 
    }, 

    'jquerymx': ['jquery'], 
    'jquery.ui': ['jquery'], 
    'jquery.ui.widget': ['jquery'], 
    'jquery.jscrollpane': ['jquery'], 
    'jquery.colorbox': ['jquery'], 
    'jquery.selectbox': ['jquery'], 
    'jquery.base64': ['jquery'], 
    'jquery.cookie': ['jquery'], 
    'jquery.urldecoder': ['jquery'], 
    'jquery.fileupload': ['jquery'], 
    'jquery.history': [ 
     'jquery', 
     'history/scripts/compressed/history', 
     'history/scripts/compressed/history.html4' 
    ] 
    } 
} 

我檢查,以實際裝載確保jQuery和我的其他的依賴,他們,只是沒有按照正確的順序。實習生使用的Dojo AMD加載程序是否不處理填充程序配置?

回答

3

問題是實習生使用的AMD加載程序當前未執行shim配置屬性AMD Specification。直到你問這個問題,我實際上並不知道它是標準的一部分。

此刻,你可以運行通過實習使用不同的AMD加載器功能測試,但此刻,這將是很難在本地機器上運行單元測試。

+1

啊,我曾以爲它沒有實現墊片因爲它是規範的一部分。可能要嘗試並添加自己:) – coreyschram 2013-05-08 14:19:43

+0

您可以使用自己的裝載機插件來控制加載順序。請參閱http://stackoverflow.com/a/26531410/1859442 – Benjamin 2014-10-23 15:29:34

1

我所要做的就是點useLoader配置到require.js和噗。我在我的應用程序中使用了熟悉的shim配置和路徑配置。巴姆。