Javascript YUI3依赖关系管理
我正试图开发一个利用YUI 3应用程序框架的web应用程序,但无法弄清楚依赖性管理实际上是如何工作的 我想定义一个我想在不同文件中的另一个位置重用的模块。下面是我用来在一些文件dir1/home/home.js中定义模块的代码: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{ 初始值设定项:函数(){ //这里有一些逻辑。。
添加('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
}
}
}
}
})