使用 require.js 加载 spin.js

2024-03-14

我最近启动了一个 Javascript 项目,现在将其转移到 require.js。到目前为止一切都运行良好,除了spin.js http://fgnass.github.com/spin.js/图书馆。当我尝试访问与 spin.js 相关的任何内容时,收到以下错误消息:

未捕获的引用错误:微调器未定义

My 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 config因为我还有一些其他具有依赖关系的模块。不过,其他一切似乎都加载良好。我在这里缺少什么?

Edit:

正如亚历克斯指出的那样,我的图书馆收录是错误的。对于每个无法理解backbone.js 和 require.js 的人,我建议这本书 https://github.com/addyosmani/backbone-fundamentals,特别是关于模块化开发的章节。


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 require.js 加载 spin.js 的相关文章

随机推荐