2013-05-21 5 views
7

Kontext: eine Einzelseiten-Backbone-Anwendung mit Yeoman bauenumgebungsspezifische Konfiguration in einer Javascript-App Handhabung

ich einen Weg möchte einige Anwendungsparameter sind abhängig von meiner aktuellen Umgebung (dev vs Produktion) zu haben.

Im Moment bin ich mit zwei separaten Konfigurationsdateien, und ich schalte die Entwickler einen zum Produkt eines bei der Bereitstellung, die das Grunzen: usemin Aufgabe:

// 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' 
} 

Diese Lösung funktioniert, aber stinkende ist und nicht erlaube jede andere Umgebung als Produktion und Entwicklung. Was sind meine Alternativen?

+1

Sie Ihre HTML-Datei zu Vorprozess versuchen könnten und ein Platzhalter – gustavohenke

+0

möglich Duplikat [NodeJS Umgebungsvariablen in Grunt] (http://stackoverflow.com/questions/15554215/nodejs-environment-variables-in-grunt) ersetzen –

+0

Hier eine detaillierte Antwort für Yeoman: https://stackoverflow.com/questions/20742882/how-set-get-environment-specific-variable-in-a-yeoman-ember-app/20974746#20974746 – borisrorsvort

Antwort

1

Try this:

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

Dann ?DEV=1 nach Ihrer URL eingeben.

+2

Das kann aber ich Ich würde meine Dev-App lieber nicht in der Produktion einsetzen ... – MrRuru