我在一个使用backbone-boilerplate的项目中工作,该项目使用RequireJS加载模块,使用JamJS来管理它们。
我的require config.js
文件如下:
require.config({
deps: ["../vendor/jam/require.config", "main"],
paths: {
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage"
},
shim: {
"backbone.localStorage": {
deps: ['backbone']
}
}
});
正如您所见,jam配置文件jam/require.config.js
中的RequireJS加载配置指定了主干,jquery和下划线。接下来是文件的一部分:
"packages": [
{
"name": "backbone.layoutmanager",
"location": "../vendor/jam/backbone.layoutmanager",
"main": "backbone.layoutmanager.js"
}
{
"name": "backbone",
"location": "../vendor/jam/backbone",
"main": "backbone.js"
}
],
"version": "0.2.11",
"shim": {
"backbone.layoutmanager": {
"deps": [
"jquery",
"backbone",
"lodash"
],
"exports": "Backbone.LayoutManager"
}
"backbone": {
"deps": [
"jquery",
"lodash"
],
"exports": "Backbone"
}
}
};
我想要的是在我的config.js
中指定backbone.localStorare库取决于包部分中定义的主干。
此外,如果我按如下方式指定骨干路径,那么它找到了骨干库,但发现错误消息说未加载下划线:
require.config({
deps: ["../vendor/jam/require.config", "main"],
paths: {
"backbone": "../vendor/jam/backbone/backbone",
"backbone.localStorage": "../vendor/backbone.localStorage-1.0/backbone.localStorage"
},
shim: {
"backbone.localStorage": {
deps: ['backbone']
}
}
});
我可以使用jamjs添加backbone.localStorage库,但是可用包的版本是旧的,所以我更喜欢手动下载最后一个并手动包含。
任何想法或帮助将不胜感激。
答案 0 :(得分:1)
Backbone需要Underscore & jQuery:
shim: {
"backbone": {
"deps": [ "underscore", "jquery" ],
"exports": "Backbone" //attaches "Backbone" to the window object
},
"underscore": {
"exports": "_"
}
}
所以我认为你最好调整jam/require.config.js
。
修改强>
接下来,问题中的packages
部分是jam/require.config.js
的一部分?位置是否相对于jam/require.config.js
的位置?
您是否尝试在自己的config.js中添加packages
部分:
"packages": ["backbone", "backbone.layoutmanager"]