2014-11-12 12 views
8

Ho un'app ExtJS 5.0 che punta a un'API. Su sviluppo , mi piacerebbe utilizzare http://localhost ma su produzione ovviamente qualche altro server.ExtJS (5) Configurazioni di Sencha per ambienti diversi

C'è un modo per impostare la variabile di un'applicazione dall'esterno durante sencha app build? O accedere ad alcune variabili ENV nel codice?

Sarebbe bello se qualcuno potesse aiutarmi.

La ringrazio molto,

Sebastian

risposta

11

ho trovato un modo di fare questo, ma io non sono sicuro che è il modo migliore. Nella tua app.json troverai una sezione come questa:

/** 
* override objects for setting build environment specific 
* settings. 
*/ 
"production": { 
    banana : 'no' 
}, 
"testing": { 
    banana : 'yes' 
}, 
"development": { 

}, 

Ovviamente ho aggiunto il campo di banane da solo. Non è consentito distribuire una banana in produzione, quindi ho impostato il valore sì o no in base all'ambiente.

Quindi a build se eseguo 'sencha app build testing' o 'sencha app build production' costruirà il rispettivo valore di banana per l'ambiente nell'oggetto Ext.manifest.

Così nell'applicazione posso accedere al valore attraverso:

if (Ext.manifest.banana === "yes") 

presumo è possibile utilizzare la stessa tecnica per definire i campi per altri tipi di frutta, o forse i dati anche relativi non frutta.

Ho avuto l'idea da questo documento: "Quando avvii la tua applicazione, troverai il contenuto elaborato di app.json caricato come" Ext.manifest "." http://docs.sencha.com/cmd/5.x/microloader.html

Come ho detto non so se questo è il modo migliore per farlo, ma ho il sospetto che potrebbe essere.

+0

Fantastico, ha funzionato! Grazie mille per la tua risposta rapida e dettagliata –

Problemi correlati