2016-07-15 180 views
8

Attualmente ho un file chiamato router.js configurato come segue:lettura di un file .config

var Server = require('mongodb').Server; 
var MongoDB = require('mongodb').Db; 
var dbPort = 31979; 
var dbHost = '40.117.155.19'; 
var dbName = 'node-login'; 

vorrei da istituire in questo modo:

var Server = require('mongodb').Server; 
var MongoDB = require('mongodb').Db; 
var dbPort  = readConfig(dbPort); 
var dbHost  = readConfig(dbHost); 
var dbName  = readConfig(dbName); 

Come dovrei andare a realizzare questo. Mi piacerebbe avere un file come test.config, ed essere in grado di leggere dbPort, dbHost e dbName da quel file .config in router.js.

+0

È possibile leggerlo manualmente con il modulo fs e analizzarlo. Tuttavia JavaScript e JSON vanno di pari passo. Usare un .config sarebbe come usare l'ereditarietà classica in Js, possibile ma non il modo migliore per farlo. – ste2425

risposta

12

Si potrebbe memorizzare la configurazione come file JSON e leggerlo direttamente:

config.json

{ 
    "dbPort": 31979, 
    "dbHost": "40.117.155.19", 
    "dbName": "node-login" 
} 

router.js

var Server = require('mongodb').Server; 
var MongoDB = require('mongodb').Db; 
var CONFIG = require('./config.json'); 

var dbPort = CONFIG.dbPort; 
var dbHost = CONFIG.dbHost; 
var dbName = CONFIG.dbName; 
+0

Questo non è un JSON valido, comunque. – robertklep

+0

@robertklep Grazie, risolto. – Timo

+0

Grazie per l'aiuto, molto apprezzato! –

3

Ecco un modo per fallo

//File config.js 
module.exports = { 
    dbPort : 8080, 
    dbHost : etc, 
    dbName : nom, 
} 

//File server.js 
var Server = require('mongodb').Server; 
var MongoDB = require('mongodb').Db; 
var config = require('configFile'); 

var dbPort  = config.dbPort; 
var dbHost  = config.dbHost; 
var dbName  = config.dbName; 
+0

Ninja risolto un minuto fa :) Grazie. –

+0

Si potrebbe tecnicamente denominare il file ".config" e leggerlo comunque se è formattato correttamente JSON. A meno che non intenda un determinato tipo di file di configurazione Android. –

+0

grande grazie, che risponde alla mia domanda. E no, non intendo alcun tipo specifico di file di configurazione Android, apprezzo l'aiuto. Ti darei un +1, ma sfortunatamente penso che questa sia la prima domanda che mi sono preso la briga di chiedere su StackOverflow. –