ExtJS 5 запрашивает файл с пустым именем/.js

Я создал новое рабочее пространство с последним sencha cmd 5.0.2.270 и последним ExtJS 5.0.1. Создал приложение в. Написал немного кода.

Я создаю сборку сборки с помощью сборки sencha.

Разработка загружается хорошо, но производственная сборка пытается загрузить файл без имени и получает 404

GET http://yassa-built.dev/.js?_dc=1410352524548 404 (не найдено) После этой ошибки он вообще не загружается.

Я не могу понять, что он ищет. Развитие не жалуется вообще.

Я сделал с ним архив https://mega.co.nz/#!Dk0gDRJD!dNITsq1fGFs5T4d-4yYFnA6_K6EcAhFkxoeEjaJu7MY (~ 600kb). Он включает источники и сборку продукции.

UPD Я нашел место, где он начинает ломаться. В файле RadioAdminController.js.

 case 'menu_referals':
    return app.setSubView('redmed-radioapp-referals', {
      store: Ext.create('RedmedAdmin.store.Referals')
    });

Если я не создаю магазин - он работает. Производственная сборка в порядке. В магазине нет ничего особенного:

Ext.define('RedmedAdmin.store.Referals', {
  extend: 'Ext.data.Store',
  model: 'RedmedAdmin.model.Referal',
  autoLoad: false,
  autoSync: true
});

Ответ 1

На четвертый день борьбы был выявлен простой ответ.

Я пропустил одну зависимость. Цепочка: RedmedAdmin.store.Referals → RedmedAdmin.model.Referal → RedmedAdmin.model.redmed.RadioAppBase.

Как я представил архив, я перечислим класс RedmedAdmin.model.redmed.RadioAppBase здесь (рабочая версия):

Ext.define 'RedmedAdmin.model.redmed.RadioAppBase',
    extend: 'Ext.data.Model'
    requires: ['Ext.data.identifier.Uuid', 'Ext.data.proxy.Rest']

    identifier: 'uuid'
    fields: [{
            name: 'id'
            type: 'string'
    }]
    schema:
            namespace: 'RedmedAdmin.model.redmed.radioapp'
            proxy:
                    type: 'rest'
                    url: 'http://10.0.29.140:6543/api/rest/{entityName:lowercase}'
                    reader:
                        type: 'json'
                        rootProperty: '{entityName:lowercase}'
                    listeners:
                        'exception': (request, operation, eOpts ) ->
                            Ext.log {level: 'error'}, "Data request to #{request.url} failed. Reply: #{operation.responseText}"

Он определяет схему для всех детей. Схема использует прокси-сервер отдыха (тип: "отдых" ). Он не был включен в сломанную версию. В запросе был указан только файл Ext.data.identifier.Uuid.

Ответ 2

Запустите приложение из сборки/тестирования/, чтобы увидеть, какая зависимость отсутствует.

Ответ 3

У меня была такая же проблема, и исправление заключалось в добавлении требуемого Ext.layout.container.Border 'и' Ext.layout.container.Center '. Мне пришлось вручную прокомментировать коды и запустить сборку для проверки (поскольку она отлично работает в режиме разработки). В некоторых случаях он указывал на отсутствующие зависимости, такие как widget/... js

Ответ 4

Эта проблема связана с классами, которые необходимо добавить в массив require. Я запустил сборку с помощью тестирования сборки приложений Sencha, а затем в блоке debug I, чтобы узнать, какой класс загружается пустым. Чтобы решить проблему, я добавил Ext.layout.container.Column, но это может быть любой класс, поэтому лучше запустить сборку в процессе тестирования, а затем определить проблему.

Ответ 5

Чтобы эти свойства конфигурации работали правильно, вам необходимо добавить этот класс "Ext.data.identifier.Uuid" в качестве уровня проекта.

Включить Ext.data.identifier.Uuid, поскольку требует в файле Ex.Application app.js

Ext.application({

    requires: [
        'Ext.data.identifier.Uuid' // Include it
    ],
    models: [
        'UsersModel',
        'RolesModel',
        'LoginModel'
    ]

    .
    .
    .
    .

});