Requirejs + Backbone Uncatch TypeError:无法读取未定义的属性“each”
Requirejs + Backbone Uncaught TypeError: Cannot read property 'each' of undefined
错误指向主干.js:219库。 该错误在我的主文件中抛出.js在require(['app'],函数中。
主.js文件:
require.config({
baseUrl: 'scripts',
paths: {
app: '../app',
jquery: 'jquery',
underscore: 'underscore',
backbone: 'backbone',
router: '../router'
},
shim: {
backbone: {
deps: ['jquery','underscore'],
exports: 'Backbone'
}
}
});
require(['app'], function (App) {
App.initialize();
});
我的应用.js文件:
define([
'jquery',
'underscore',
'backbone',
'router' // Request router.js
], function($, _, Backbone, Router){
var initialize = function(){
// Pass in our Router module and call it's initialize function
Router.initialize();
};
return {
initialize: initialize
};
});
我的路由器.js文件:
define(['jquery', 'underscore', 'backbone'], function ($, _, Backbone) {
'use strict';
// Router
var AppRouter = Backbone.Router.extend({
routes:{
"":"list",
"wines/:id":"wineDetails"
},
list:function () {
// ...
},
wineDetails:function (id) {
// ...
}
});
var initialize = function(){
var app_router = new AppRouter;
Backbone.history.start();
};
return {
initialize: initialize
};
});
这个问题似乎与这个问题相似,但没有一个建议对我有用。
路由器.js有两个错误。
- 使用"定义"代替"要求";
- 返回对象必须包含"初始化"方法;
像这样的代码,
define(['jquery', 'underscore', 'backbone'], function ($, _, Backbone) {
'use strict';
// Router
var AppRouter = Backbone.Router.extend({
routes:{
"":"list",
"wines/:id":"wineDetails"
},
list:function () {
// ...
},
wineDetails:function (id) {
// ...
}
});
var initialize = function(){
var app_router = new AppRouter;
Backbone.history.start();
}
return {
initialize: initialize
};
});
um
require.config({
baseUrl: 'scripts',
paths: {
app: '../app',
jquery: 'jquery', //does this actually point to a jquery source file?
underscore: 'underscore', //does this actually point to a underscore source file?
backbone: 'backbone', //does this actually point to a backbone source file?
router: '../router'
},
shim: {
backbone: {
deps: ['jquery','underscore'],
exports: 'Backbone'
}
}
});
require(['app'], function (App) {
App.initialize();
});
我的第一个猜测是,在某些时候,RequireJS需要找出jQuery,Backbone,Underscore等的src/可执行文件的位置。
相关文章:
- 将对象作为参数传递后的未定义属性
- 检查链接对象形式中未定义属性的最佳实践是什么
- PhantomJS中的evalute内部未定义属性
- 访问数字类型的未定义属性
- 如何处理未定义属性的未定义属性 javascript 类型错误
- 返回未定义属性的脚本
- 类型错误:无法读取 ng-repeat 的未定义属性
- JavaScript-Disqus如何处理其“;disqus_config”;包含未定义属性的函数
- 是对HTMLElement#样式的未定义属性的赋值的返回值,保证与赋值相同
- 最好检查未定义属性或设置为空
- 如何解决这个未定义属性的node.js错误?
- 如何在JavaScript中挽救对象的未定义属性?
- AngularJS和PHP -注意:未定义属性:stdClass
- 主干模型删除未定义属性
- if else子句中未定义对象的未定义属性
- Javascript数组问题:无法读取未定义属性
- 当尝试使用未定义属性进行筛选时,Lodash将排除项
- 在Javascript数组的中途未定义属性
- Knockout arrayForEach未定义属性
- javascript中未定义属性的简写,初始化和赋值属性