Javascript YUI3依赖关系管理

Javascript YUI3依赖关系管理,javascript,yui,dependency-management,yui3,Javascript,Yui,Dependency Management,Yui3,我正试图开发一个利用YUI 3应用程序框架的web应用程序,但无法弄清楚依赖性管理实际上是如何工作的 我想定义一个我想在不同文件中的另一个位置重用的模块。下面是我用来在一些文件dir1/home/home.js中定义模块的代码: 添加('MyModule_Home',函数(Y){ Y.namespace(“mysite.home”); Y.mysite.home.SomeView=Y.base.create(“SomeView”,Y.View{ 初始值设定项:函数(){ //这里有一些逻辑。。

我正试图开发一个利用YUI 3应用程序框架的web应用程序,但无法弄清楚依赖性管理实际上是如何工作的

我想定义一个我想在不同文件中的另一个位置重用的模块。下面是我用来在一些文件dir1/home/home.js中定义模块的代码:


添加('MyModule_Home',函数(Y){
Y.namespace(“mysite.home”);
Y.mysite.home.SomeView=Y.base.create(“SomeView”,Y.View{
初始值设定项:函数(){
//这里有一些逻辑。。。
}
//这里有更多的功能。。。。
}

},'0.1',{requires:['base','node','app']});//而不在传递给
YUI()的配置对象中预先指定依赖项
在加载您的
MyModule\u Home
模块之前,它无法知道需要获取哪些模块。如果您没有在config对象中指定元数据,它应该加载您的模块,阅读需求,然后再加载它们。这是次优性能,但在开发时可能是一个可行的解决方案

一定要回去,以后再修


YUI团队使用将其模块包装在
YUI中。添加
调用&处理这些模块的元数据。我发现这是一个不必要的繁重工作流,因此我在两个位置维护元数据。根据我的经验,维护成本不会太高。

没有在配置中预先指定依赖项传递给
YUI()的对象
在加载您的
MyModule\u Home
模块之前,它无法知道需要获取哪些模块。如果您没有在config对象中指定元数据,它应该加载您的模块,阅读需求,然后再加载它们。这是次优性能,但在开发时可能是一个可行的解决方案

一定要回去,以后再修


YUI团队使用将其模块包装到
YUI中。添加
调用&处理这些模块的元数据。我发现这是一个不必要的繁重工作流程,因此我在两个地方维护元数据。根据我的经验,维护成本不会太高。

我不确定,但我想我记得在mo中使用
YUI3不完全支持模块名,可能是这样:)我不确定,但我想我记得YUI3不完全支持在模块名中使用
,可能是这样:) 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 YUI( { groups: { grp1: { base: "/path/to/dir1/", modules: { MyModule_Home: { path: "home/home.js", requires: ['base', 'node', 'app'] // <------ Dependency Specifications } } } } })