Extjs Sencha AlternateClassName在编译版本中不起作用

Extjs Sencha AlternateClassName在编译版本中不起作用,extjs,sencha-cmd,sencha-touch-2.3,Extjs,Sencha Cmd,Sencha Touch 2.3,我在Sencha应用程序中工作。 我已经创建了两个实用程序类作为单例组件(助手、服务等)。 我正在使用alternateClassName为这些类提供一个较短的名称。 它工作得很完美,但在编译用于生产后停止工作 我不知道为什么,需要帮助才能让它工作 查看以下示例: 为了简单起见,我使用sencha cmd创建了一个演示应用程序。该应用程序是“演示版”。 整个应用程序都是默认的,但我在应用程序中添加了一个util文件夹,其中只有一个文件Helper.js。代码如下: Ext.define('Dem

我在Sencha应用程序中工作。
我已经创建了两个实用程序类作为单例组件(助手、服务等)。
我正在使用alternateClassName为这些类提供一个较短的名称。
它工作得很完美,但在编译用于生产后停止工作

我不知道为什么,需要帮助才能让它工作

查看以下示例:
为了简单起见,我使用sencha cmd创建了一个演示应用程序。该应用程序是“演示版”。
整个应用程序都是默认的,但我在应用程序中添加了一个util文件夹,其中只有一个文件Helper.js。代码如下:

Ext.define('Demo.util.Helper', {
    singleton: true,
    alternateClassName: 'Helper',

    test: function () {
        alert('It works !');
    }
});
然后,我只需要更新app.js以需要这个新文件,并在添加主视图后更新启动函数以调用test方法。下面是在app.js中使用的代码:

requires: [
    'Ext.MessageBox',
    'Demo.util.Helper'
],
启动功能:

launch: function () {
    // Destroy the #appLoadingIndicator element
    Ext.fly('appLoadingIndicator').destroy();

    // Initialize the main view
    Ext.Viewport.add(Ext.create('Demo.view.Main'));

    Helper.test();
},
现在,如果我尝试这个示例,在加载应用程序后,会成功显示一条警报消息

但是在使用sencha cmd编译之后

sencha应用程序构建生产

我得到这个错误:

我知道问题出在备用类名上,因为如果我使用全名(而不是备用类名),它仍然有效。但是我想使用另一个类名,否则就没有任何意义了

你知道编译版有什么问题吗

蒂亚!
Milton

过了一段时间,我们意识到Sencha在编译用于生产的单例类时有一个bug(也用于测试)

解决方案是在launch方法中删除singleton标志,并为所有singleton类创建应用程序变量

例如:

Demo.Helper = Ext.create('Helper');
希望这有帮助

更新

Sencha Cmd的最后一个版本充满了奇怪的bug! 在修复了这些问题之后,我发现了很多其他问题,最后,我找到了这个链接