首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用spin.js加载require.js

用spin.js加载require.js
EN

Stack Overflow用户
提问于 2013-02-25 11:02:42
回答 2查看 5.6K关注 0票数 3

我最近启动了一个Javascript项目,现在我将它移到require.js。到目前为止,除了spin.js库之外,一切都很顺利。当我试图访问任何与spin.js相关的内容时,我会收到以下错误消息:

未定义的ReferenceError:旋转器未定义

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

代码语言:javascript
复制
requirejs.config({

    baseUrl: 'js',

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

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

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

示例模块如下所示:

代码语言:javascript
复制
require(['spin'], 
    function(Spinner)
    {   
        new Spinner();
    }
);

我之所以使用shim config,是因为我有一些具有依赖关系的其他模块。不过,其他东西似乎都装得很好。我在这里错过了什么?

编辑:

正如亚历克斯指出的那样,我的图书馆收录是错误的。对于每个在理解backbone.js和require.js方面有困难的人,我建议使用这本书,特别是关于模块化开发的章节。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-25 11:52:06

在您的配置中不应该使用spin库。来自spin.js源代码:

代码语言:javascript
复制
  if (typeof define == 'function' && define.amd)
    define(function() { return Spinner })
  else
    window.Spinner = Spinner

在这里,它已经被定义为一个模块,并且window.Spinner不是作为一个窗口对象创建的(这就是为什么不应该对它进行抖动)。

票数 2
EN

Stack Overflow用户

发布于 2016-04-20 20:49:15

我也有过类似的案子。我没有添加shim,但忽略了在主干之后添加旋转器,这导致了它的定义不明确。

代码语言:javascript
复制
define([
  'jquery',
  'underscore',
  'backbone',
  'spin'
],

function($, _, Backbone, Spinner) {
  var SpinnerView = Backbone.View.extend({

    initialize: function() {

      this.loadingAnimation();
    },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15065463

复制
相关文章

相似问题

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