Backbone.js requirejs主干有时无法正确加载
三分之一的时候我会说“主干未定义错误”。它指向requirejs文件中的第19行(路由器在路径第21行声明)。就像主干网有时加载速度足够快,有时加载速度不够快。我不知道我做错了什么。下面是requirejs文件和初始化的一部分Backbone.js requirejs主干有时无法正确加载,backbone.js,requirejs,Backbone.js,Requirejs,三分之一的时候我会说“主干未定义错误”。它指向requirejs文件中的第19行(路由器在路径第21行声明)。就像主干网有时加载速度足够快,有时加载速度不够快。我不知道我做错了什么。下面是requirejs文件和初始化的一部分 require.config({ paths: { //libs jquery: '../../bower_components/jquery/dist/jquery.min', // "jquery-ui": '.
require.config({
paths: {
//libs
jquery: '../../bower_components/jquery/dist/jquery.min',
// "jquery-ui": '../bower_components/jquery-ui/jquery-ui.min',
lodash: '../../bower_components/lodash/lodash',
backbone: '../../bower_components/backbone/backbone-min',
underscore: '../../bower_components/underscore/underscore-min',
gridstack: '../../libs/gridstack/dist/gridstack',
text: '../../bower_components/text/text',
router: '/client/js/router/router',
//other modules ...
}
shim: {
"backbone": {
deps: ['underscore','jquery'],
exports: "backbone"
},
"underscore": {
exports: "_"
},
"jquery": {
exports: "$"
},
"gridstack": {
deps: ['jquery','underscore'],
exports: "Gridstack"
}
});
require([
'jquery', 'backbone', 'lodash', 'router',
], function( $, Backbone, _, Router){
new Router();
Backbone.history.start();
});
下面是如何声明我的路由器:
define('router',['appView'] , function(AppView) {
var router = Backbone.router.extend({
// etc/
我看到的一个错误是在RequireJS配置中的主干垫片中。显式不支持RequireJS的旧版本主干将导出全局变量
Backbone
,而不是Backbone
。所以
"backbone": {
deps: [ 'underscore', 'jquery' ],
exports: 'Backbone'
}
请注意,
1.1.1
之后的任何BackboneJS版本都支持AMD风格的模块,因此,如果您使用的是最新版本,则根本不需要垫片。事实上,使用支持AMD的版本,但不正确地声明垫片,可能是导致三分之一故障的原因。。。但我必须看一个运行中的示例才能确定。事实上,我写的垫片是正确的,但在问题中键入的是错误的。。我将删除垫片并查看。感谢可能的副本