我最近开始了一个 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/