当你开发了一个有着多个Pacakge的复杂类库,并在MXML中使用他们时,有没有发现这样的不便:你不得不为在不同的Package创建的组件提供各自的namespace,例如为了在同一个MXML中引用ClassA和ClassB:
你可能会这样写:
当引用的代码位于更多Package中时,你的代码将会变得复杂和混乱,同时你得为新的Namespace想更多的名字,解决这个问题的最好办法是使用URI-Style的Namespace来编译你的类库。以下是一个Step by Step的教程:
1) 编写类库的源文件,例如上面例子中的ClassA, ClassB,分别隶属于两个不同的Package。
2)在源文件目录下创建清单文件(Manifest),清单文件用于描述Namespace URI与Classes之间的映射关系,例如下面的清单文件使用http://www.byjog.com作为URI,映射了ClassA和ClassB:
3.1) 使用清单文件和命令行参数编译Library (Compc)
在原有的命令行参数基础之上增加两个参数:
-namespace http://www.byjog.com manifest.xml
上面参数的作用是声明一个URI为http://www.byjog.com的namespace,使用manifest.xml作为清单文件
-include-namespaces http://www.byjog.com
上面参数的作用是在Library中包含http://byjog.com这个namespace
3.2) 如果你使用Flex Builder进行开发,那么事情就更加简单,在Library工程的Properties中打开Flex Library Complier页面,在Compiler options中填入Namespace URL并选择manifest文件即可:
4) 现在你可以使用URI-style的Namespace来引用Library中的类了: