`
it_liuyong
  • 浏览: 97587 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用uri-style namespace编译as、flex类库

 
阅读更多
使用URI-Style Namespace编译ActionScript/Flex Library
当你开发了一个有着多个Pacakge的类库,并在MXML中使用他们时,有没有发现这样的不便:你需要为隶属于不同Package创建的组件声明各自的pacakge-style namespace,例如下图中ClassA和ClassB:

你可能需要这样引用它们:

当引用的组件类处于很多不同的Package中时,你的代码将会变得复杂和混乱。另外,如果类库的包结构发生变化,你必须要更新所有的Client代码,解决这个问题的最好办法是使用URI-Style的Namespace来编译你的类库。以下是一个Step by Step的教程:
1) 编写类库的源文件,例如上面例子中的ClassA, ClassB,分别隶属于两个不同的Package。
2)在源文件目录下创建清单文件(Manifest),清单文件用于描述Namespace URI与Classes之间的映射关系,例如下面的清单文件使用http://www.swfever.com作为URI,映射了ClassA和ClassB:

3.1) 使用清单文件和命令行参数编译Library (Compc)
在原有的命令行参数基础之上增加两个参数:
-namespace http://www.swfever.com manifest.xml
上面参数的作用是声明一个URI为http://www.swfever.com的namespace,使用manifest.xml作为清单文件
-include-namespaces http://www.swfever.com
上面参数的作用是在Library中包含http://www.swfever.com这个namespace
3.2) 如果你使用Flex Builder进行开发,那么事情就更加简单,在Library工程的Properties中打开Flex Library Complier页面,在Compiler options中填入Namespace URL并选择manifest文件即可:

4) 现在你可以使用URI-style的Namespace来引用Library中的类了:

总结一下使用URI-Style Namespace的优点:
可以使用统一的Namespace引用位于不同package甚至不同swc中的类
当package结构发生变化时,客户代码不受影响
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics