flash - Flex/Flash 生成器 : Proper way to reference another project?

标签 flash apache-flex project-management flash-builder project

我有一个使用 Flash Builder 4.5 的相当大的 Flex/Flash Builder 项目。我想创建另一个项目,该项目使用该原始项目中的一些组件。在新项目中,我将资源与原始项目链接起来,效果很好,但新项目的文件很大。它接近原始项目的文件大小,即使它只使用了一小部分组件和 Assets 。有没有更好的方法来最小化新项目的文件大小?

最佳答案

您应该将所有常见的、可重用的代码分离到一个或多个库项目中。在 FlashBuilder 中,您无法将项目的性质从应用程序转换为库,因此您必须创建一个空白库项目并复制您希望在两个项目中都可用的代码。

以最简单的形式,您的项目结构应如下所示:

Flex app project A (swf) \
                           Flex library project (swc)
Flex app project B (swf) /

现在要使用该库,请转到“属性 > Flex 构建路径”,单击“添加项目...”按钮并选择您刚刚创建的库项目。

add library project

现在您已链接到该项目,您希望选择引用组件的链接方式。 (双击“链接类型”进行编辑。)

choose link type

使用您链接项目的方式,FB 显然只是将项目 A 中的所有类编译到项目 B 中。这显然不是您想要的。这些是您的链接选项(对于应用程序项目):
  • 合并为代码 : 只有实际引用的代码才会被编译到主应用程序中。因此,如果从不引用 lib 项目中的 ClassA 而 ClassB 是,则只有 ClassB 将被编译到主应用程序中。
  • RSL : 没有什么被编译到主应用程序中,但库是在运行时加载的;完全,因为我们不知道我们需要哪些类(class)。不过,这个库缓存在客户端上,因此您只需加载一次即可获得更长的加载时间。主应用程序将小于“合并”链接。

  • 选择哪个选项取决于具体情况,完全取决于您。我建议你自己动手看看有什么不同(使用真正的服务器,因为在本地服务器上你不会感觉到加载时间)。

    我还应该提到的是 外部 链接选项,它不会将任何类编译到主应用程序中,也不会在运行时加载它们。这主要用于将在同一主应用程序中用作 RSL 的库之间的依赖关系。

    关于flash - Flex/Flash 生成器 : Proper way to reference another project?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791557/

    相关文章:

    javascript - 如何调用一个简单的javascript函数();当我单击 .swf 文件(FLASH)中的按钮时?

    javascript - Flex 图形编辑器 - 示例开源项目

    python - 有没有什么好的基于django的项目管理工具?

    actionscript-3 - Flex 4.6 检查 creationComplete 是否已经发生

    apache-flex - 闪存与 Flex : Why not skip Flex and use AS3's URLLoader + server code entirely?

    apache-flex - Webservice.wsdl 和凭据

    regex - 需要 Flex Regex 验证表达式作为密码,仅允许字母数字值并且需要一个数字

    project-management - 您如何进行网站容量规划?

    project-management - 有什么好的比喻可以向非程序员解释项目的复杂性吗?

    actionscript-3 - AS3错误1046-编译期间找不到对象