2014-09-10 16 views
10

Ho creato uno spazio di lavoro nuovo con l'ultimo sencha cmd 5.0.2.270 e l'ultimo ExtJS 5.0.1. Ha generato un'app in. Ha scritto un po 'di codice.File richieste 5 ExtJS con nome vuoto /.js

Genero build di produzione con build di app sencha.

I carichi di sviluppo bene, ma la build di produzione tenta di caricare file senza nome e ottiene un 404

GET http://yassa-built.dev/.js?_dc=1410352524548 404 (non trovato) Dopo di che l'errore non viene caricato a tutti.

Non riesco a capire cosa stia cercando. Lo sviluppo non si lamenta affatto.

Ho creato un archivio con esso https://mega.co.nz/#!Dk0gDRJD!dNITsq1fGFs5T4d-4yYFnA6_K6EcAhFkxoeEjaJu7MY (~ 600 kb). Include le fonti e la build di produzione.

UPD Ho trovato il posto dove inizia a rompere. Nel file RadioAdminController.js.

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

Se non creo un negozio, funziona. La produzione è ok. Il negozio non è niente di speciale:

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

risposta

4

Nel quarto giorno di lotta si è rivelata una risposta semplice.

Ho perso una dipendenza. La catena: RedmedAdmin.store.Referals -> RedmedAdmin.model.Referal -> RedmedAdmin.model.redmed.RadioAppBase.

Come ho fornito l'archivio, elencherò classe RedmedAdmin.model.redmed.RadioAppBase qui (versione di lavoro):

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

Definisce uno schema per tutti i bambini. Lo schema usa il resto del proxy (tipo: 'resto'). Non è stato incluso nella versione spezzata. Solo Ext.data.identifier.Uuid è stato elencato in richiede.

+0

Ho avuto un problema simile con l'ultima ext (5.1.0.47) e cmd (5.1.0.13). Ho risolto il problema elencando la classe 'Ext.layout.container.Border' in richiede .. – scebotari66

+0

Sto ancora ricevendo il problema, ho una vista e un viewModel nella mia piccola applicazione. Ho provato a mettere lo schema per il modello di visualizzazione e poi separatamente ho provato a mettere un negozio per il modello di vista ... Non ha funzionato ... Sto usando Extjs5.0.1. Sto provando a fare il debug. Aggiornerò se avrò l'ans. Fino ad ora alcuni1 possono gettare un po 'più di luce sul motivo per cui questo errore si verifica –

+0

Qualche idea su come risolvere questo errore, ho scoperto questo errore dopo aver fatto un grande codice, quindi è molto difficile indovinare il motivo, ho risolto tutto gli avvertimenti in sencha watch e in firebug, c'è qualche altra tecnica per risolvere il problema per favore? – geogeek

1

Ho avuto lo stesso problema prima e la correzione era di aggiungere Ext.layout.container.Border '&' Ext.layout.container.Center '. Ho dovuto commentare manualmente i codici & eseguire il build di produzione da verificare (poiché funziona correttamente in modalità sviluppo). In alcuni casi, indica le dipendenze mancanti come widget/... js

3

Eseguire l'app da build/testing/per vedere quale dipendenza manca.

1

Questo problema è correlato alle classi che devono essere aggiunte nell'array richiesto. Ho eseguito la build utilizzando il test di build dell'app Sencha nel debug I cam per sapere quale classe stava caricando vuoto. Per risolvere il mio problema ho aggiunto Ext.layout.container.Column ma può essere di qualsiasi classe, quindi è meglio eseguire la build in testing, quindi identificare il problema.

1

Per ottenere il corretto funzionamento di queste proprietà di configurazione, è necessario aggiungere questa classe 'Ext.data.identifier.Uuid' come livello di progetto.

Includere Ext.data.identifier.Uuid come richiede nel Ex.Application app.js presentare

Ext.application({ 

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

    . 
    . 
    . 
    . 

});