有详细请看:http://www.k-zone.cn/zblog/post/flex-compiler-namespace-manifest.html
《Flex第一步》官方群里面有个朋友问我,如何像xmlns:mx="http://www.adobe.com/2006/mxml"这样的方式,自定义自己组件的namespace呢?去Adobe那边的compiler参数查找了一下,发现可以利用-namespace、-include-namespaces这两个参数来指定自己的URL。
首先需要明确的一个概念:manifest.xml
Adobe的一种ActionScript 3.0类库清单,通过manifest.xml与namespace的配合,可以很容易设定自己的namespace。
下面就是一个manifest.xml文件:
<?xml version="1.0"?>
<componentPackage>
<component id="TestingA" class="TestingA"/>
</componentPackage>
这个xml文件中定义了一个id="TestingA"的class(注意:如果这个class是在包中的,则也要把包地址写上,例如:cn.org.kenshin.TestingA)
然后使用如下的参数:
-namespace http://www.k-zone.cn manifest.xml
-namespace:声明一个URI作为http://www.k-zone.cn的namespace,同时使用manifest.xml作为当前的ActionScript 3.0清单文件。
-include-namespaces http://www.k-zone.cn
-include-namespaces:在Library(swc)中包含http://www.k-zone.cn这个namespace。
当然,如果当前的编译环境是Flex Builder(Flash Builder),那么上述内容将变得更加的简单。
在需要使用这个Library的地方,将这个Library复制到lib文件夹中,然后在想要使用的地方使用如下的语句:
xmlns:zone="http://www.k-zone.cn"
最后,其请看下图所示:
现在有一个疑问,我们通过指定namespace和manifest.xml的方式生成的swc到底与未指定的swc有什么差别呢?我们可以使用解压缩软件打开swc,会得到如下的两个文件:
catalog.xml
library.swf
而catalog.xml里面的内容如下:
<?xml version="1.0" encoding ="utf-8"?>
<swc xmlns="http://www.adobe.com/flash/swccatalog/9">
<versions>
<swc version="1.2" />
<flex version="3.2.0" build="3958" />
</versions>
<features>
<feature-script-deps />
<feature-components />
<feature-files />
</features>
<components>
<component className="TestingA" name="TestingA" uri="http://www.k-zone.cn" />
</components>
<libraries>
<library path="library.swf">
<script name="TestingA" mod="1244462205848" signatureChecksum="3185651073" >
<def id="TestingA" />
<dep id="Object" type="i" />
<dep id="AS3" type="n" />
</script>
<digests>
<digest type="SHA-256" signed="false" value="4a231e9ab1783d1d4aa7effa1a0b106be499727a2bb5a6c9b3e7a7fec108a413" />
</digests>
</library>
</libraries>
<files>
</files>
分享到:
相关推荐
由于上一篇文章《Flex编程注意之Namespace的用法》引出了Flex编译时自带的两个参数:-namespace -include-namespace,正好想到可以写一篇关于Flex Complier时的一些自定义参数。
Flex编译错误码总结 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。...在实际工作中,不断积累和学习这些错误码,将有助于提升Flex编程技能,减少开发过程中的困扰。
Socket 提供了一种低级别的网络通信机制,允许 Flex 客户端与使用各种编程语言(如 C++, VB, C#, Java)开发的服务器端进行双向通信。 在 Flex 中,ActionScript 3.0 提供了 XMLSocket 类来实现 Socket 连接。...
这些方法通常会返回一个ANE接口对象,以便在Flex中使用。例如,我们可以创建一个名为`NativeDll`的类,声明如下方法: ```actionscript public class NativeDll { public function init():void; public function ...
在Flex编程中,正确使用命名空间、遵循正确的语法和语义规则是非常重要的。上述提到的错误代码及其解决方案可以帮助开发者避免常见的编译错误,提高代码质量。同时,在使用Flex Builder等IDE时,注意配置相关的项目...
**ActionScript(简称AS)** 是一种面向对象的编程语言,主要用于开发Flex应用程序。掌握AS的基础知识对于学习Flex至关重要。 ##### 类和对象 (Class and Object) - **定义**:类是对具有相同属性和方法的对象的...
通过本文介绍的方法,你可以轻松地在ASP.NET应用中集成Treeview控件,并使用XML来管理和展示层次结构的数据。这种组合方式不仅提高了数据管理的灵活性,还极大地增强了应用程序的功能性和用户体验。希望本文能为你在...
《ActionScript 3.0 的进化之路:从脚本到面向对象编程》 ActionScript,这个曾经被许多人轻视的脚本语言,在Web开发领域经历了从无到有、从简单到复杂的演进过程,尤其在ActionScript 3.0(AS3)的出现后,它彻底...
首先,我们需要了解Flexigrid的基本使用方法。在HTML页面中,我们需要引入jQuery库和Flexigrid的CSS及JS文件。然后,为表格元素设置相应的属性,如colModel来定义列信息,url指定数据源,以及pager用于分页设置。 `...
此外,理解和使用XML相关的API和技术,如DOM和SAX解析器,以及在JavaScript中处理XML(如使用jQuery的$.ajax方法),都是重要的技能。 本资源“xmlweb”可能包含了XML基础、XML在Web应用中的实际案例、以及相关的...
这些文件通常按照命名空间(namespace)组织,以方便在项目中导入和使用。开发者可以查看和学习这些代码,了解如何在AS3.0中进行组件封装,以便在自己的项目中应用。 总的来说,UI组件封装在AS3.0中的实践,不仅...