2012-04-26 5 views
7

Mentre sto costruendo la mia Sencha Touch 2 applicazione utilizzando il comando: - Sencha app costruire produzioneerrore nella costruzione di Sencha Touch 2 applicazione

ma genera un errore:

[INFO] Deploying your application to /Applications/MAMP/htdocs/iPadapp/build/production 
[INFO] Copied sdk/sencha-touch.js 
[INFO] Copied app.js 
[INFO] Copied resources/css/app.css 
[INFO] Copied resources/images 
[INFO] Copied resources/icons 
[INFO] Copied resources/loading 
[INFO] Resolving your application dependencies... 
[ERROR] Error thown from your application with message: TypeError: 'undefined' is not an object 

Ho tracciato l'errore nel mio codice. Ho scoperto, è dovuto al caricamento della mia lista. Qui è il mio codice

Ext.define("myProject.store.Members",{ 
    extend :'Ext.data.Store', 
    requires:"Ext.data.proxy.LocalStorage", 
    config: { 
     model :"myProject.model.Member", 
     sorters :'lastName', 
     autoload:true, 

     proxy: { 
      type: 'localstorage', 
      id : 'mainStore' 
     } 
    } 
}); 

se mi tolgo la linea di 'autoLoad: true' (che rompe la mia domanda, quindi posso costruire l'applicazione, ma la mia lista non viene caricato Se ho messo indietro le ripetizioni di errore... ho provato in modo dinamico il caricamento della lista con la funzione di carico, ma non ha alcun senso.

E qui è il file model.js ho divertente.

Ext.define('myProject.model.Member', { 
    extend: 'Ext.data.Model', 
    config: { 
     fields: [ 
      'index',     
      'email', 
      'firstname', 
      'lastname', 
      'phone', 
      'currentemployer', 
      'currenttitle', 
      'interestlevel', 
      'tcgroupNames', 
      'active', 
      'lastlogin', 
      'usertypedesc', 
      'recruiternotes', 
      'recruitercontact', 
      'addtype', 
      'usertypedesc', 
      'jobtitle', 
      'ipAddress', 
      'recruitersource', 
      'agentkeywords', 
      { name: "created", type: 'date' }, 
      'recruiterprofileurl_linkedin', 
      'recruiterprofileurl_facebook' 
     ] 
    } 
}); 

ogni aiuto è apprezzato

Codifica felice per tutti

+0

Si sta eseguendo su un server http locale? – Disco

+0

Sì, sto utilizzando il server HTTP Apache. Ma non sto facendo interazioni server remoto. È solo una memoria locale. – heyjii

+0

puoi incollare il file model.js? – Disco

risposta

4

Ho lo stesso problema, il generatore di comandi non è autorizzato ad aprire una connessione a localstorage, quindi si blocca.

Dovresti essere in grado di impostare Ext.getStore('Members').setAutoLoad(true); nello launch: function() { di app.js.

Quindi la tua app costruirà e dovrebbe ancora caricare i dati nel negozio.

+0

Ciao Adam, l'ho provato ma nessun cambiamento. Comunque grazie per la tua risposta. – heyjii

+0

Ho lo stesso identico problema. Ad ogni modo, è un grosso problema caricare manualmente lo store per aggirare questo problema? – borck

+0

@adam marshall, perché il comando sencha dovrebbe accedere alla locale? Questo non ha senso per me? – borck

0

noti che tracciare un errore è migliore quando si usa strumenti di sviluppo Chrome rispetto all'utilizzo di Firebug, becuase nella console di Firebug mostra senza eccezioni, mentre sulla console degli strumenti di sviluppo Chrome mostra l'eccezione non rilevata:

Ext.getStore("Notes").load(); 

dove il negozio 'Note' non esiste nel mio caso.

+0

Ciao @Rida, sono usando google chrome – heyjii