Нераспознанное имя класса / псевдоним widget.combobox (скрытое поле, fieldcontainer, ...)

Во время разработки я запускал свое приложение с помощью "sencha app watch", и у меня не было ошибок. Но когда я строил свое приложение с помощью "тестирования сборки приложения Sencha", я получал ошибку для разных стандартных компонентов: для поля со списком, скрытого поля, полевого контейнера. Я решил это, добавив имена классов компонентов в раздел "require". Мой вопрос: почему я должен сделать этот трюк? А что не так с этими полями? Потому что для текстового поля у меня не было никаких ошибок. Я использую Ext JS 6.2.0. версия gpl

2 ответа

Когда вы используете версию ExtJS для разработки, она основана на app-all.js, который содержит большинство, если не все классы ExtJS, и имеет минимизированный размер 2 МБ (без минимизации 9 МБ). Поэтому, как только этот файл загружен, они все полностью доступны.

Когда вы компилируете версию ExtJS, Sencha Cmd создает дерево зависимостей требуемых классов, чтобы сохранить размер получаемого результата. app.js до минимума (в моем приложении это сокращено до 1,1 МБ). Для этого дерева зависимостей оно начинается с app.js файл и рассматривает определения в классах:

  • extend
  • override
  • requires
  • uses

и в контроллерах:

  • views
  • stores
  • models

но не в другом месте, например:

  • Ext.create() (которые могут быть разбросаны по всему коду, если вы создаете свои компоненты динамически)
  • xtype в дереве компонентов.

Требуется: Загружает все классы по заданным именам и все их прямые зависимости.

Эта ошибка очень распространена, и обычно она возникает из-за того, что необходимый компонент Ext не загружен или одна из его прямых зависимостей не загружена перед использованием компонента.

  1. В разработке разработки у нас есть настройка Ext в нашей рабочей области
    как правило, облегчает получение необходимых зависимостей.

  2. В производственном или тестовом случае он не может загрузить файл или загрузить одну из его прямых зависимостей, вызывающих эту проблему.

  3. В основном эти зависимости загружаются динамически.

Всегда рекомендуется убедиться, что вы используете требуемый для любого компонента, который вы используете.

Это подразумевает, что в любом из компонентов нет ничего плохого, только некоторая проблема с нагрузкой связана с тем, как они внутренне связаны.

Другие вопросы по тегам