2011-12-23 21 views
5

¿Hay formas estándar de almacenar la configuración de la aplicación node.js para diferentes entornos?node.js: forma estándar de almacenar la configuración de la aplicación?

Lo que hice para lograr esto:

creados: node_app_folder/conf/general.js node_app_folder/conf/development.js node_app_folder/conf/production.js

general.js:

module.exports = { 
    setting: "SOME GENERAL SETTING" 
    ,setting2: ... 
    ... 
    // global conf has export method extend that just copies/replaces properties from supplied object 
    extend: {...} 

} 

development.js y production.js contienen una configuración específica para el medio ambiente.

en app.js:

global.conf = require('./conf/general'); 

// As I use express.js 
app.configure('development', function(){  
    global.conf.extend(require('./conf/development')); 
    .... 
} 
app.configure('production', function(){  
    global.conf.extend(require('./conf/producton')); 
    .... 
} 

Así que en los módulos de mi aplicación que puede acceder a la aplicación, la configuración a través del objeto global.conf.

Pero me pregunto si hay formas estándar de realizar la tarea descrita.

Gracias.

Respuesta

6

Si lo que desea es obtener los valores de archivos JSON a continuación, utilizando Konphyg es perfecto, aquí hay un buen tutorial sobre el tema: http://nodetuts.com/tutorials/31-konphyg-cascading-configuration-files.html

No hay manera estándar de configuración de la carpeta de configuración, sin embargo, que cada uno hace en su Propia manera.

+0

Ok eso es lo que necesitaba) – WHITECOLOR

+0

Ese tutorial ya no está disponible, desafortunadamente. Pedro Teixeira comenzó a volver a grabar los tutoriales en 2012 pero no ha hecho muchos, y no lo ha hecho desde noviembre de 2012. –

+0

No estoy seguro, pero parece que el tutorial (o un tutorial muy similar de Pedro) es [aquí] (http://vimeo.com/33407241). ¿Podría confirmar si esta es la nueva ubicación? – SnapShot

Cuestiones relacionadas