【发布时间】:2013-07-30 22:01:35
【问题描述】:
我正在使用 require.js,并在我的配置文件中调用以下命令来启动应用程序(使用此页面作为参考:http://backbonetutorials.com/organizing-backbone-using-modules/):
require(['backbone', 'jquery', 'app'], function(Backbone, $, App) {
console.log('no dependancies loaded');
});
但是,当它遵守(通过 grunt.js)时,它不会加载主干和 jquery - 它甚至没有列出任何依赖项。但是,如果我删除应用程序需要主干并加载 jquery,例如:
require(['backbone', 'jquery'], function(Backbone, $) {
console.log('dependancies loaded');
});
main.js
require.config({
paths: {
jquery: 'vendor/jquery',
underscore: 'vendor/underscore',
backbone: 'vendor/backbone'
},
shim: {
jquery: [],
backbone: {
deps: ['vendor/underscore', 'vendor/jquery'],
exports: 'Backbone'
},
underscore: {
exports: '_'
}
}
});
require(['backbone', 'jquery', 'App'], function(Backbone, $, App) {
App.initialize();
});
app.js
define(['jquery', 'underscore', 'backbone', 'router'], function($, _, Backbone, Router){
var initialize = function() {
// Pass in our Router module and call it's initialize function
Router.initialize();
};
return {
initialize: initialize
};
});
不显示错误消息。为什么它不接他们?
【问题讨论】:
-
“app”模块在哪里定义?仅凭这段代码很难说出任何事情。
-
我没有在任何地方定义它。我遵循与主干教程链接相同的过程,它说“模块是相对于引导带加载的,并且总是附加“.js”。所以模块“app”将加载相同的“app.js”目录作为引导程序。”。我应该在我的主配置文件中包含 App 吗?
-
能否贴一下app.js的代码,至少是定义部分?
-
添加了 main.js 和 app.js
-
尝试更改 shim 主干 - `deps: ['underscore', 'jquery'],
标签: backbone.js requirejs gruntjs