所以我有一个由多个模块组成的项目,我试图找出最好的编译方法,只需要很少的代码重复。
我有一个核心框架SWF和许多独立于核心的子应用程序。另外,我有一系列公共库SWCS,核心和子应用程序依赖于它们。
我不确定编译此项目的最佳方法,以便每个模块不需要包含库,因为这会重复代码。会喜欢一些建议!
我开始使用external-library-path进行编译,但是必须包含公共库。
由于
答案 0 :(得分:2)
据我了解,您的核心应用程序包含modulemanager,它加载您的子应用程序(模块),对吧?
在这种情况下,您可以使用include-libraries
参数将公共swc包含到主应用程序中,子应用程序使用external-library-path
。因此,所有来自公共的类都将包含在主应用程序中,当加载子应用程序时,它们将使用它们
您也可以将公共文件用作RSL,而不是将其包含在应用程序中。
答案 1 :(得分:0)
使用linkreport是一个PITA,会使您的构建过程复杂化。
最简单的方法是使用include-libraries
,如Timofei所建议的那样;但是,如果你想要更多的灵活性(并减少玩家必须下载的代码量),那么你应该考虑采用'SWF库'方法。
将所有共享库代码编译为SWC(用于开发)和SWF(用于运行时加载)。然后,您的“子应用程序”应该定义这些库SWF上的依赖项列表,作为清单/握手方法的一部分,即:
libs: [ collections, widgets ];
然后,您的主应用程序负责了解之前已加载的库,以及解决缺少的库。