2014-09-10 5 views
10

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

Я создаю сборку продукции с помощью приложения sencha app build.

Нагрузка развития хорошо, но производство сборка пытается загрузить файл без имени и получает 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 
}); 

ответ

4

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

Я пропустил одну зависимость. Цепочка: 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.

+0

У меня была аналогичная проблема с последней внутр (5.1.0.47) и КМД (5.1.0.13). Я исправил его, указав класс «Ext.layout.container.Border» в require .. – scebotari66

+0

Я все еще получаю проблему, у меня есть представление и viewModel в моем маленьком приложении. Я попытался поставить схему для модели представления, а затем отдельно я попытался поместить хранилище для модели представления ... Это не сработало ... Я использую Extjs5.0.1. Я пытаюсь отлаживать. Я обновлю, если я получу ан. До тех пор, пожалуйста, some1 может пролить немного света на причину возникновения этой ошибки. –

+0

Любая идея, как решить эту ошибку, я обнаружил эту ошибку после создания большого кода, поэтому очень сложно угадать причину, я решил все предупреждения в часах сенча и в firebug, есть ли какая-либо другая техника для решения проблемы, пожалуйста? – geogeek

1

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

3

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

1

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

1

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

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

Ext.application({ 

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

    . 
    . 
    . 
    . 

});