Ich versuche, ein Require.js Projekt mit Intern zu testen. Ich habe in meinen Tests Fehler festgestellt, bei denen jQuery nicht definiert ist, wenn jQuery-Plugins geladen werden. Meine loader Config sieht wie folgt aus:Intern Konfiguration nicht AMD Shim
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'
]
}
}
Ich habe überprüft, dass jQuery und meine anderen Abhängigkeiten machen geladen tatsächlich sind, und sie sind einfach nicht in der richtigen Reihenfolge. Verwendet der Dojo AMD Loader, den Intern verwendet, nicht die Shim-Konfiguration?
Ah, ich hatte angenommen, dass es Shim implementiert hat, da es Teil der Spezifikation war. Vielleicht müssen Sie versuchen, das selbst hinzuzufügen :) – coreyschram
Sie können Ihre Ladereihenfolge mit einem eigenen Lade-Plugin steuern. Siehe http://stackoverflow.com/a/26531410/1859442 – Benjamin