在我的代码中,test.js依赖于jquery,而jquery不使用require模式,而test.spec.js依赖jquery,test.js依赖于test.js模式。在运行test.js时,我们可以在test.spec.js中动态地加载jquery的依赖关系吗?
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
});
在jquery可拖事件的test.js中,可以编写可拖事件。在对$('#panelId').draggable({revert: true});
进行评估后得到误差
"TypeError:‘未定义’不是一个函数(计算'$('#panelId').draggable({revert: true}‘)’“
如何在test.js的require.config中加载jquery。因为我用这个来运行我的茉莉花测试用例。在实际环境中,它按预期工作,但在jasmine测试用例中无法找到jquery事件。test.js没有使用require.js,但是test.spec.js使用的是require.js模式。
在test.spec.js代码中,执行了jquery可拖动的未定义的got错误。
define(['jquery-ui','library/src/js/test'], function ($) {
});
我可以在test.spec.js中使用$访问jquery,而不是在编写jquery事件的test.js中,因为test.js不使用test.js需求模式。不知道少了什么。任何帮助都会变成学徒..。:)
发布于 2015-08-14 04:29:22
尝试此更新的要求js配置。
使用"library/src/js/ test“加载测试
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
});
发布于 2015-08-11 12:11:09
您需要使用jquery-ui
而不是文件的路径。
shim:{
'jquery': {
exports: 'jQuery'
},
'jquery-ui': {
deps: ['jquery']
}
}
define(['jquery-ui','library/src/js/test'], function ($, test) {
//code goes here
});
https://stackoverflow.com/questions/31940860
复制相似问题