我最近开始了一个JavaScript项目,现在正在将其迁移到require.js。到目前为止,除了spin.js库之外,一切正常。当我尝试访问与任何spin.js相关的内容时,我会收到以下错误消息:
未捕获的引用错误:未定义Spinner
我的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方面遇到麻烦的人,我建议阅读这本书,特别是关于模块化开发的章节。
define(['spin'], function(Spinner){ var mySpinner = new Spinner().spin(); } );
- Alex Ehrnschwendervar target = document.getElementById('foo'); target.appendChild(mySpinner.el);
- Alex Ehrnschwender