javascript - 使用 require.js 加载 spin.js

标签 javascript requirejs spin.js

我最近开始了一个 Javascript 项目,现在我要把它移到 require.js。到目前为止一切正常,除了 spin.js图书馆。当我尝试访问任何与 spin.js 相关的内容时,我收到以下错误消息:

Uncaught ReferenceError: Spinner is not defined

我的 requirejs.config 看起来像这样:

requirejs.config({

    baseUrl: 'js',

        paths: {
            'jquery': 'lib/jquery',
            'spin': 'lib/spin',
    },

    shim: {
        'jquery' : {
            deps: [],
        },

        'spin' : {
            deps: [],
            exports: 'Spinner'
        },
    }
});  

示例模块如下所示:

require(['spin'], 
    function(Spinner)
    {   
        new Spinner();
    }
);

我正在使用 shim 配置,因为我有一些其他模块具有依赖性。不过,其他一切似乎都可以正常加载。我在这里缺少什么?

编辑:

正如 Alex 所指出的,我的库包含是错误的。对于理解 backbone.js 和 require.js 有困难的每个人,我建议 this book ,特别是关于模块化开发的章节。

最佳答案

自旋库不应在您的配置中填充。来自 spin.js 源代码:

  if (typeof define == 'function' && define.amd)
    define(function() { return Spinner })
  else
    window.Spinner = Spinner

它已经在最后定义为一个模块,并且 window.Spinner 没有被创建为一个窗口对象(这就是为什么它不应该被填充)

关于javascript - 使用 require.js 加载 spin.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15065463/

相关文章:

javascript - 在 JQuery Mobile 的 div 容器中打开链接

javascript - 如何在浏览器中使用require

javascript - 使用 requireJS 时如何监听全局事件

javascript - RequireJS 和 KendoUI - Shim jQuery 依赖项

javascript - spin.js/Angular 微调器 : how to position spin into DOM element (plunker demo included)

javascript - 如何检测Moment js是否从CDN加载

javascript - HTML5 视频图像/海报淡入淡出

javascript异步调用和单线程模型

javascript - 手动创建旋转事件指标

javascript - spin.js 微调器未显示