javascript - 如何使用 requirejs 正确定义 shim 配置

标签 javascript jquery requirejs

我有 jQuery 和通过 RequireJS 加载的 jQuery 插件。

这就是我的 requirejs.config 的样子:

requirejs.config({
baseUrl: "http://mysite.example.com",
"paths": {

    // libraries
    "jquery": "Static/js/library/jquery/jquery-1.10.2",
    "jquery_sortable" : "Static/js/library/jquery-sortable/jquery-sortable",

    shim: {
        'jquery_sortable': ['jquery']
    }
}
});

当我快速刷新页面两次或更多次时,有时我会在插件代码中遇到异常:

Uncaught ReferenceError :jQuery 未定义

基本上,我的插件不使用我为其设置的shim

指定我的 shim 配置的最可靠方法是什么??

最佳答案

可能是因为您没有按预期构建。正如您所注意到的,您将 shim 放入 paths 中。可能是。

"paths": {

// libraries
"jquery": "Static/js/library/jquery/jquery-1.10.2",
"jquery_sortable" : "Static/js/library/jquery-sortable/jquery-sortable",

shim: {
    'jquery_sortable': ['jquery']
}

}

--------评论后编辑------

也许尝试定义手册中声明的 dep?

'foo': {
    deps: ['bar'],
    ...

来源:http://requirejs.org/docs/api.html#config-shim

关于javascript - 如何使用 requirejs 正确定义 shim 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20099763/

相关文章:

javascript - LetsEncrypt 覆盖不同端口

javascript - 确定绑定(bind)的 JavaScript 函数是否是函数的绑定(bind)版本

javascript - Bootstrap 模式不会加载 YouTube 嵌入源

jquery 中对象的 Javascript 语法

javascript - JsPlumb - 在可拖动元素上使用时端点不刷新位置

javascript - 使用 RequireJS 拆分文件后未到达 Backbone.js ListenTo(model ,'change' ,callback) 回调

javascript - 如何解决 Require.js 中的循环依赖?

javascript - 如何实现定时渐变效果?

javascript - dojo.mixin 未按预期工作

backbone.js - backbone 1.1.2, marionette, requirejs, 最小版本