我最近启动了一个Javascript项目,现在我将它移到require.js。到目前为止,除了spin.js库之外,一切都很顺利。当我试图访问任何与spin.js相关的内容时,我会收到以下错误消息:
未定义的ReferenceError:旋转器未定义
我的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,是因为我有一些具有依赖关系的其他模块。不过,其他东西似乎都装得很好。我在这里错过了什么?
编辑:
正如亚历克斯指出的那样,我的图书馆收录是错误的。对于每个在理解backbone.js和require.js方面有困难的人,我建议使用这本书,特别是关于模块化开发的章节。
发布于 2013-02-25 11:52:06
在您的配置中不应该使用spin库。来自spin.js源代码:
if (typeof define == 'function' && define.amd)
define(function() { return Spinner })
else
window.Spinner = Spinner在这里,它已经被定义为一个模块,并且window.Spinner不是作为一个窗口对象创建的(这就是为什么不应该对它进行抖动)。
发布于 2016-04-20 20:49:15
我也有过类似的案子。我没有添加shim,但忽略了在主干之后添加旋转器,这导致了它的定义不明确。
define([
'jquery',
'underscore',
'backbone',
'spin'
],
function($, _, Backbone, Spinner) {
var SpinnerView = Backbone.View.extend({
initialize: function() {
this.loadingAnimation();
},https://stackoverflow.com/questions/15065463
复制相似问题