首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >要求使用AMD模式会导致jQuery UI事件的错误

要求使用AMD模式会导致jQuery UI事件的错误
EN

Stack Overflow用户
提问于 2015-08-11 11:44:07
回答 2查看 434关注 0票数 8

在我的代码中,test.js依赖于jquery,而jquery不使用require模式,而test.spec.js依赖jquery,test.js依赖于test.js模式。在运行test.js时,我们可以在test.spec.js中动态地加载jquery的依赖关系吗?

代码语言:javascript
运行
复制
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错误。

代码语言:javascript
运行
复制
define(['jquery-ui','library/src/js/test'], function ($) {

});

我可以在test.spec.js中使用$访问jquery,而不是在编写jquery事件的test.js中,因为test.js不使用test.js需求模式。不知道少了什么。任何帮助都会变成学徒..。:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-14 04:29:22

尝试此更新的要求js配置。

使用"library/src/js/ test“加载测试

代码语言:javascript
运行
复制
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
});
票数 3
EN

Stack Overflow用户

发布于 2015-08-11 12:11:09

您需要使用jquery-ui而不是文件的路径。

代码语言:javascript
运行
复制
shim:{
     'jquery': {
            exports: 'jQuery'
          },
     'jquery-ui': {
            deps: ['jquery']
        }
}

define(['jquery-ui','library/src/js/test'], function ($, test) {
    //code goes here
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31940860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档