Próbuję przetestować projekt Require.js za pomocą programu Intern. Występują błędy w moich testach, w których jQuery nie jest zdefiniowany podczas ładowania wtyczek jQuery. Moja ładowarka config wygląda następująco:Nie skonfigurowano konfiguracji procesora 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'
]
}
}
I zostały sprawdzone, aby upewnić się jQuery i moje inne zależności są rzeczywiście załadowany, a one są, tylko nie we właściwej kolejności. Czy program ładujący Dojo AMD, którego używa Intern nie obsługuje konfiguracji shim?
Ah, założyłem, że zaimplementowałem podkładkę, ponieważ była częścią specyfikacji. Może muszę spróbować dodać to samemu :) – coreyschram
Możesz użyć własnej wtyczki ładującej, aby kontrolować kolejność ładowania. Zobacz http://stackoverflow.com/a/26531410/1859442 – Benjamin