javascript - ejemplo - ui jquery draggable
requerir el uso de un patrĂ³n AMD da error para los eventos de jQuery UI (2)
En mi código, test.js depende de jquery-ui, que no utiliza requiere el patrón AMD y test.spec.js depende de jquery-ui, test.js que usa el patrón AMD. ¿Podemos cargar la dependencia de jquery-ui en test.js dinámicamente cuando se ejecuta test.spec.js.
require.config({
baseUrl: ''/demo'',
paths: {
''jquery'': ''../library/jquery-1.11.1'',
''jquery-ui'': ''../library/jquery-ui-1.11.4''
},
shim: {
''jquery'': {
exports: ''jQuery''
},
''jquery-ui'': {
deps: [''jquery'']
},
''library/src/js/test'': {
deps: [''library/jquery-1.11.1'', ''library/jquery-ui-1.11.4'', ''../js/collapse''],
exports: ''Test''
}
},
callback: window.__karma__.start
});
En test.js se escribe "arrastrable" del evento jquery-ui que se puede arrastrar. después de evaluar $(''#panelId'').draggable({revert: true});
obtuvo un error
"TypeError: ''undefined'' no es una función (evaluando ''$ ('' # panelId ''). Draggable ({revert: true})'')"
Cómo cargar jquery-ui para test.js en require.config. Como estoy usando esto para ejecutar mis casos de prueba de jazmín. En el entorno real está funcionando como se esperaba, pero en el caso de prueba de jazmín no fue posible encontrar el evento jquery-ui. test.js no usa require.js, pero test.spec.js usa el patrón de AMD requerido.
en el código test.spec.js después de ejecutar esto se obtuvo el error de jquery-ui draggable undefined
define([''jquery-ui'',''library/src/js/test''], function ($) {
});
Puedo acceder a jquery ui en test.spec.js usando $, no en test.js donde el evento jquery-ui se escribe como test.js no usa el patrón de AMD require. No sé lo que falta. Cualquier ayuda será apreciada... :)
Prueba esta configuración de js configurada actualizada
Use "library / src / js / test" para cargar su prueba
require.config({
baseUrl: ''/demo'',
paths: {
''jquery'': ''../library/jquery-1.11.1'', // assuming this is a correct path
''jquery-ui'': ''../library/jquery-ui-1.11.4'' // assuming this is a correct path
},
shim: {
''jquery'': {
exports: ''jQuery''
},
''jquery-ui'': {
deps: [''jquery'']
},
''library/src/js/test'': {
deps: [''jquery'', ''jquery-ui'', ''../js/collapse''], // changes done here
exports: ''Test''
}
},
callback: window.__karma__.start
});
Necesita usar jquery-ui
lugar de la ruta a su archivo.
shim:{
''jquery'': {
exports: ''jQuery''
},
''jquery-ui'': {
deps: [''jquery'']
}
}
define([''jquery-ui'',''library/src/js/test''], function ($, test) {
//code goes here
});