Я пытаюсь разработать веб-приложение, использующее инфраструктуру приложения YUI 3, и не могу понять, как на самом деле работает управление зависимостями.
Я хочу определить модуль, который я хочу использовать для другого места в другом файле. Вот код, который я использую для определения модуля в каком-то файле dir1 / home / home.js :
YUI.add('MyModule_Home',function(Y){
Y.namespace("mysite.home");
Y.mysite.home.SomeView = Y.base.create("SomeView", Y.View, {
initializer : function() {
// some logic goes here ...
}
// more functions go here ....
}
},'0.1',{ requires : ['base','node','app'] }); // <---- Dependency Specifications
В другом файле (index.js) для использования этого модуля я использую:
YUI( {
groups: {
grp1: {
base: "/path/to/dir1/",
modules: {
MyModule_Home: {
path: "home/home.js",
requires: ['base', 'node', 'app'] // <------ Dependency Specifications
}
}
}
}
})
Приведенный выше код работает, но я хотел бы знать, почему в обоих местах требуются избыточные спецификации зависимостей. Если я опускаю спецификацию зависимостей при загрузке модуля или при определении модуля, я получаю ошибки. Есть ли более лаконичный способ сделать это?