2013-05-21 12 views
7

Contesto: un'applicazione spina dorsale di una sola pagina a costruire con YeomanGestione configurazione specifica-ambiente in un'applicazione javascript

vorrei un modo per avere alcuni parametri dell'applicazione dipendono mio ambiente attuale (dev vs produzione).

In questo momento sto utilizzando due file di configurazione separati, e posso passare il dev uno a uno quando prod schierando che il grugnito: compito usemin:

// index.html 
<!-- build:js scripts/config.prod.js --> 
<script src="scripts/config.dev.js"></script> 
<!-- endbuild -->  

// config.dev.js 
window.config = { 
    api_host: 'localhost:9393', 
    api_key: 'dev_api_key' 
} 

// config.prod.js 
window.config = { 
    api_host = 'api.host.tld', 
    api_key = 'prod_api_key' 
} 

questa soluzione funziona, ma è puzzolente e non lo fa consentire qualsiasi altro ambiente rispetto alla produzione e allo sviluppo. Quali sono le mie alternative?

+1

Si potrebbe provare a pre-elaborazione il file HTML e sostituire un segnaposto – gustavohenke

+0

possibile duplicato del [NodeJS variabili d'ambiente in Grunt] (http://stackoverflow.com/questions/15554215/nodejs-environment-variables-in-grunt) –

+0

Ecco una risposta dettagliata per Yeoman: https://stackoverflow.com/questions/20742882/how-set-get-environment-specific-variable-in-a-omanoman-ember-app/20974746#20974746 – borisrorsvort

risposta

1

Prova questo:

var DEV = (window.location.indexOf("DEV=1")) != -1 ? true : false; 

quindi digitare ?DEV=1 dopo l'URL.

+2

Che può fare ma io Preferirei non avere la mia app di sviluppo distribuita in produzione ... – MrRuru

Problemi correlati