Я работаю в приложении Sencha.
Я создал несколько классов Утилиты как компоненты singleton (помощники, службы и т. Д.).
Я использую alternateClassName для более короткого имени для этих классов.
Он отлично работает, но перестает работать после компиляции для производства.Sencha AlternateClassName не работает в скомпилированной версии
Я не знаю почему, и вам нужна помощь, чтобы получить эту работу!
Выглядит в следующем примере:
Я создал демонстрационное приложение, использующее sencha cmd для простоты. Приложение «Демо».
Все приложение по умолчанию, но я добавил папку util внутри приложения с единственным файлом Helper.js. Это код:
Ext.define('Demo.util.Helper', {
singleton: true,
alternateClassName: 'Helper',
test: function() {
alert('It works !');
}
});
Тогда мне просто нужно обновить app.js требовать этого новый файла и обновить функцию запуска для вызова метода испытаний после добавления основного вида. Так вот код для использования в 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 app build production
Я получаю эту ошибку:
Я знаю, что проблема с именем альтернативного класса, потому что если я используйте полное имя (вместо альтернативного имени класса), оно все равно работает. Но я хочу использовать альтернативное имя класса, иначе это не имеет никакого смысла.
Любая идея о том, что случилось с скомпилированной версией?
TIA! Milton