2014-09-10 8 views
10

Ich habe einen neuen Arbeitsbereich mit der neuesten Sencha Cmd 5.0.2.270 und neuesten ExtJS 5.0.1 gemacht. Generierte eine App in in. Schrieb ein wenig Code.ExtJS 5 Anfragen Datei mit leerem Namen /.js

Ich generiere Produktion Build mit Sencha App Build.

Die Entwicklung Lasten gut, aber die Produktion zu bauen versuchen, ohne Namen Datei zu laden und bekommt ein 404

GET http://yassa-built.dev/.js?_dc=1410352524548 404 (nicht gefunden) Nach diesem Fehler es überhaupt nicht geladen werden.

Ich kann nicht verstehen, wonach es sucht. Die Entwicklung beklagt sich überhaupt nicht.

Ich machte ein Archiv mit ihm https://mega.co.nz/#!Dk0gDRJD!dNITsq1fGFs5T4d-4yYFnA6_K6EcAhFkxoeEjaJu7MY (~ 600kb). Es beinhaltet die Quellen und den Produktionsaufbau.

UPD Ich habe den Ort gefunden, wo es zu brechen beginnt. In der Datei RadioAdminController.js.

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

Wenn ich ein Geschäft nicht schaffen - es funktioniert. Die Produktion ist in Ordnung. Der Laden ist nichts besonderes:

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

Antwort

4

Am vierten Tag des Kampfes ergab sich eine einfache Antwort.

Ich habe eine Abhängigkeit verpasst. Die Kette: RedmedAdmin.store.Referals -> RedmedAdmin.model.Referal -> RedmedAdmin.model.redmed.RadioAppBase.

Als ich das Archiv zur Verfügung gestellt, werde ich Klasse RedmedAdmin.model.redmed.RadioAppBase Liste hier (Arbeitsversion):

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}" 

Es ein Schema für alle Kinder definiert. Das Schema verwendet Rest-Proxy (Typ: 'Rest'). Es war nicht in der kaputten Version enthalten. Nur Ext.data.identifier.Uuid wurde in erforderlich aufgeführt.

+0

Datei ich mit der neuesten ext (5.1.0.47) und cmd (5.1.0.13) hatte ein ähnliches Problem. Ich habe es behoben, indem ich die 'Ext.layout.container.Border'-Klasse in erfordert .. – scebotari66

+0

Ich bekomme immer noch das Problem, ich habe eine Ansicht und ein ViewModel in meiner kleinen Anwendung. Ich habe versucht, ein Schema für das View-Modell zu erstellen, und dann habe ich separat versucht, einen Speicher für das View-Modell zu erstellen ... Es hat nicht funktioniert ... Ich verwende Extjs5.0.1. Ich versuche mich selbst zu debuggen. Ich werde aktualisieren, wenn ich das ans bekomme. Bis dann kann some1 etwas mehr Licht auf warum dieser Fehler auftritt werfen –

+0

Irgendeine Idee, wie man diesen Fehler löst, ich habe diesen Fehler entdeckt, nachdem ich einen großen Code gemacht habe, so ist es sehr schwierig, den Grund zu erraten, ich habe alle gelöst die Warnungen in Sencha Watch und in Firebug, gibt es noch andere Technik, um das Problem zu lösen? – geogeek

1

Ich hatte das gleiche Problem vor und die Lösung war, erforderliche Ext.layout.container.Border '&' Ext.layout.container.Center 'hinzuzufügen. Ich musste die Codes & manuell kommentieren, um den Produktionsaufbau zu überprüfen (da es im Entwicklungsmodus gut funktioniert). In einigen Fällen würde es auf die fehlenden Abhängigkeiten wie widget/... hinweisen. Js

3

Führen Sie die App aus Build/Tests /, um zu sehen, welche Abhängigkeit fehlt.

1

Dieses Problem hängt mit Klassen zusammen, die im Requires-Array hinzugefügt werden müssen. Ich lief den Build mit Sencha App Build-Test dann in der Debug I Cam, um zu wissen, welche Klasse leer geladen wurde. Um mein Problem zu lösen, habe ich Ext.layout.container.Column hinzugefügt, aber es kann jede Klasse sein, also ist es besser, das Build-in-Test auszuführen und dann das Problem zu identifizieren.

1

Damit diese Konfigurationseigenschaften ordnungsgemäß funktionieren, müssen Sie diese Klasse "Ext.data.identifier.Uuid" als Projektebene hinzufügen.

Fügen Ext.data.identifier.Uuid als in der App Ex.Application erfordert.js

Ext.application({ 

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

    . 
    . 
    . 
    . 

});