我有两个相互关联的问题。
第一个是我想要一个名为主干的文件夹,这与将主干作为路径中库的短名称相冲突。似乎 RequireJS 认为主干/模型/用户是主干库的孩子或其他东西。解决方案,用大写 B 命名库 Backbone。
第二个问题是我正在使用 ModelBinder,它具有“骨干”作为依赖项。解决方案,更改缩小文件。
由于在 RequireJS 配置中没有做正确的事情,这两种解决方案似乎都是一个糟糕的 hack,但我无法弄清楚我做错了什么。
我的公用文件夹结构类似于:
public/
js/
backbone/
model/
...
view/
...
vendor/
backbone.min.js
Backbone.ModelBinder.js
...
common.js
我的 common.js 有这样的东西:
require.config({
baseUrl: "/js",
shim: {
'underscore': {
exports: '_'
},
"Backbone" : {
deps: ["underscore", "jquery"],
exports: 'Backbone'
}
},
paths: {
underscore: 'vendor/underscore.min',
jquery: 'vendor/jquery',
model_binder: 'vendor/Backbone.ModelBinder',
Backbone: 'vendor/backbone.min'
}
});
所以我的两个问题是:我怎样才能保持 Backbone.ModelBinder 原样,并告诉 requirejs 当该库要求主干时,它要求 js/vendor/backbone.min.js 而不会“污染”我的全局路径。
为什么我不能在路径中同时使用主干(小写 b)并拥有目录?