Backbone.js 当使用r.js-o时,Backbone.history.start()抛出一个TypeError
当我在Backbone.js应用程序上运行r.js优化器时,出现以下错误:Backbone.js 当使用r.js-o时,Backbone.history.start()抛出一个TypeError,backbone.js,requirejs,r.js,Backbone.js,Requirejs,R.js,当我在Backbone.js应用程序上运行r.js优化器时,出现以下错误: Uncaught TypeError: undefined is not a function 出现在输出的BoBo.js节的中间。 我删除了一些代码,直到我发现是什么导致了它,这似乎是在我调用Backbone.history.start()时发生的 我已经创建了一个简单的应用程序来复制这个bug,我已经在下面发布了。基本上,它创建了一个路由和“console.log”的“home”。它在未优化时工作良好 要优化应用程
Uncaught TypeError: undefined is not a function
出现在输出的BoBo.js节的中间。
我删除了一些代码,直到我发现是什么导致了它,这似乎是在我调用Backbone.history.start()时发生的代码>
我已经创建了一个简单的应用程序来复制这个bug,我已经在下面发布了。基本上,它创建了一个路由和“console.log”的“home”。它在未优化时工作良好
要优化应用程序,我使用:
node r.js -o app.build.js
从/js文件夹
我有Backbone.js 0.9.2、RequireJS 2.1.1、r.js 2.1.1
以前有人见过这个吗?我对Backbone.js/RequireJS还是相当陌生的,所以希望这只是我做错的愚蠢的事情
文件夹结构
代码
index.html
app.build.js
谢谢
更新
下面是site-build.js的输出。有人能看出它有什么明显的问题吗
我内联了jQuery,现在它似乎工作正常。(它在的底部提到,但在优化部分的任何地方都没有提到。)
不确定这是否是正确的修复,但希望它能帮助其他人。我知道这对您没有帮助,但您提供的代码对我来说效果非常好:sCheers,必须是我的计算机特有的东西。我将在另一台机器上试用,看看会发生什么。我已经用优化器制作了一些WTF,如果我记得清楚的话,它是一个在行尾看不见的字符。手动重新键入行,前一行和后一行修复了它。我已经用sublime去掉了所有的尾随空格,所以不应该有任何隐藏字符。我移动了一些线条,但没有欢乐。我刚刚用优化文件的输出更新了问题。
/js
/libs
- backbone.js
- require.js
- underscore.js
- app.build.js
- r.js
- site.js
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script data-main="/js/site.js" src="/js/libs/require.js"></script>
</body>
</html>
requirejs.config({
baseUrl : 'js/',
paths : {
jquery : '//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min',
backbone : 'libs/backbone',
underscore : 'libs/underscore'
},
shim : {
backbone : {
deps : ['underscore', 'jquery'],
exports : 'Backbone'
},
underscore : {
exports : '_'
}
}
});
require(['jquery', 'backbone'], function($, Backbone) {
var Router = Backbone.Router.extend({
routes : {
'' : 'home'
},
home : function(){
console.log('home');
}
}),
appRouter;
$(function() {
appRouter = new Router();
Backbone.history.start();
});
});
({
baseUrl: ".",
name: 'site',
paths: {
jquery: 'empty:',
underscore: 'libs/underscore',
backbone: 'libs/backbone'
},
out: 'site-built.js',
shim : {
backbone : {
deps : ['underscore', 'jquery'],
exports : 'Backbone'
},
underscore : {
exports : '_'
}
}
})