【发布时间】:2013-08-04 17:56:46
【问题描述】:
我在 http://kilon.org/blog/2012/08/build-backbone-apps-using-requirejs/ 关注 Uzi Kilon 的 BackboneJS/RequireJS/backbone.LocalStorage 示例。
当我git clone https://github.com/uzikilon/Todos 时,它工作得很好——但它使用的是旧版本的主干.localstorage。但是,如果我将lib/backbone.localStorage 替换为较新版本的http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.0/backbone.localStorage-min,那么我会在这里得到“未捕获的类型错误:未定义不是函数”:https://github.com/uzikilon/Todos/blob/master/js/models/Todo.js#L3 - 为什么?我认为这与http://requirejs.org/docs/api.html#config-shim 的棘手细节有关,或者可能是:http://blog.mostlystatic.com/2013/01/backbone-localstorage-uncaught.html。
require.config({
baseUrl: "./js/",
paths: {
jquery: 'lib/jquery-1.8.2',
underscore: 'lib/underscore-1.4.2',
backbone: 'lib/backbone-0.9.2',
// 'backbone.localStorage': 'lib/backbone.localStorage'
'backbone.localStorage': 'http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.0/backbone.localStorage-min'
},
shim: {
underscore: {
exports: "_"
},
backbone: {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'backbone.localStorage': {
deps: ['backbone'],
exports: 'Backbone'
}
}
});
【问题讨论】:
-
它在调试器中触发哪一行? Chrome 开发工具会告诉你哪条线断了
-
我已经用这一行更新了示例。基本上,RequireJS 没有正确包含它 - 为什么?
标签: backbone.js requirejs local-storage