我试图围绕requirejs中的依赖关系。
shim
声明了文件的依赖项,那么在我在该文件中定义模块时是否需要重新声明它?require
加载骨干等依赖项,我在定义作为require
的一部分加载的模块时是否需要重新声明它?到目前为止,这是我的代码:
require.config({
//alias
paths: {
Backbone: 'libs/backbone-min',
Config: 'config',
Dom: 'dom',
App: 'app'
},
//dependencies
shim: {
'Backbone': ['libs/underscore-min'],
'Dom': ['libs/sizzle']
}
});
//used to load and use stuff
require(['Config','Dom','App','Backbone'], function(){
});
所以在dom.js
我可以使用define(function(){...});
定义一个模块并开始使用Sizzle吗?或者我仍然需要像define(['libs/sizzle'], function(){...});
此外,如果我在app.js中定义模块,我是否仍需要在define
中加载主干,因为我已将其作为require()
的一部分包含在内。
答案 0 :(得分:1)
1)如果我已经使用垫片声明了文件的依赖关系,我是否需要 在我在该文件中定义模块时重新声明它?
对于每个模块,您需要定义它的依赖集。
2)如果我使用require来加载骨干等依赖项,我是否需要 在我定义作为其一部分加载的模块时重新声明它 需要?
如果你想在仲裁模式中使用骨干作为依赖,你可以写
define(['backbone'], function(Backbone) { .. }