Configuration 如何配置qooxdoo生成器以包含动态引用的类?

Configuration 如何配置qooxdoo生成器以包含动态引用的类?,configuration,build-process,qooxdoo,Configuration,Build Process,Qooxdoo,首先,一些上下文:我从其他语言(如Lisp和ClojureScript)驱动qooxdoo,并动态生成代码来引用各个类 这通常会失败,因为qooxdoo生成器会查看静态源以查看要包含哪些类 在过去,我只是在Application.js中明确提到类。这非常有效,但最近我开始研究config.json语法,并认为采用一种不那么麻烦的方法会更好 我设法将这样的代码添加到“源代码构建”作业中,然后该构建工作正常: “包括”:[“qx.ui.mobile.page.Manager”] 但我在一个应用程序中

首先,一些上下文:我从其他语言(如Lisp和ClojureScript)驱动qooxdoo,并动态生成代码来引用各个类

这通常会失败,因为qooxdoo生成器会查看静态源以查看要包含哪些类

在过去,我只是在Application.js中明确提到类。这非常有效,但最近我开始研究config.json语法,并认为采用一种不那么麻烦的方法会更好

我设法将这样的代码添加到“源代码构建”作业中,然后该构建工作正常:

“包括”:[“qx.ui.mobile.page.Manager”]

但我在一个应用程序中使用了很多类,所以在每个作业中添加这些类很容易出错,而且仍然很难看

我试着将“include”添加到其他工作扩展的“mobile common”工作中,但令我惊讶的是,没有成功。隐马尔可夫模型。。作业“扩展”逻辑中是否存在错误

我可以在所有作业中添加“include”:[“qx.ui.mobile.*”],但这仍然是丑陋和过度的(我仍然需要在每个作业中添加多个其他类)

回顾所有这些,如果作业“扩展”机制成功地选择了“包含”选项,那么似乎就没有问题了。我刚刚使用verbose选项-v运行了生成器,如果我将“include”添加到mobile common中,可以确认页面管理器类不包括在内,但是如果我在特定作业中这样做的话

我错过什么了吗?

肯尼

您使用的
“mobile common”
作业非常正确,但奇怪的是它不起作用。由于我不知道您的确切config.json文件,我只能在这里提供一些猜测:

  • 随移动框架提供的默认
    “mobile common”
    作业已包含
    “include”
    键。你没有在工作中再加一个吗
  • 您是直接使用mobile
    config.json
    ,还是创建了另一个配置文件并包含默认的
    “mobile common”
    ?如果使用作业阴影(即在一个配置文件中定义
    “mobile common”
    ,但也在第一个配置文件中包含的另一个配置文件中定义),这将影响生成作业定义的内容(可能以意外的方式)
  • 默认的
    “mobile common”
    作业(无论出于何种原因)在include键前面有一个
    =
    ,以防止覆盖。您可能想删除它,看看会发生什么
  • 如果所有操作都失败,您仍然可以创建自己的includer作业(如“我的include”),向其添加一个
    “include”
    键,然后将此作业添加到相关源*和生成*作业的
    “extend”
    列表中。确保将其添加到移动公用项之前。这样,您至少可以在一个地方维护额外的include模式
    • 肯尼

      您使用的
      “mobile common”
      作业非常正确,但奇怪的是它不起作用。由于我不知道您的确切config.json文件,我只能在这里提供一些猜测:

      • 随移动框架提供的默认
        “mobile common”
        作业已包含
        “include”
        键。你没有在工作中再加一个吗
      • 您是直接使用mobile
        config.json
        ,还是创建了另一个配置文件并包含默认的
        “mobile common”
        ?如果使用作业阴影(即在一个配置文件中定义
        “mobile common”
        ,但也在第一个配置文件中包含的另一个配置文件中定义),这将影响生成作业定义的内容(可能以意外的方式)
      • 默认的
        “mobile common”
        作业(无论出于何种原因)在include键前面有一个
        =
        ,以防止覆盖。您可能想删除它,看看会发生什么
      • 如果所有操作都失败,您仍然可以创建自己的includer作业(如“我的include”),向其添加一个
        “include”
        键,然后将此作业添加到相关源*和生成*作业的
        “extend”
        列表中。确保将其添加到移动公用项之前。这样,您至少可以在一个地方维护额外的include模式

      Thx,托马斯。我以前确实试过,但运气不好,只是又试了一次,效果很好。:)谢谢你再次尝试。ps,是的,我是从create应用程序创建的配置中工作的,我一直在想这个=构建的东西。谢谢你的详细回答。谢谢,托马斯。我以前确实试过,但运气不好,只是又试了一次,效果很好。:)谢谢你再次尝试。ps,是的,我是从create应用程序创建的配置中工作的,我一直在想这个=构建的东西。谢谢你的详细回答。