2016-07-15 7 views
8

वर्तमान में मैं एक फ़ाइल कहा जाता है की स्थापना की router.js इस प्रकार है:एक .config फ़ाइल पढ़ना

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

मैं चाहूँगा इस तरह स्थापित होने के लिए:

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

मैं कैसे होगा इसे पूरा करने के बारे में जाओ। मैं test.config जैसी फ़ाइल लेना चाहता हूं, और douPort, dbHost, और dbName को .config फ़ाइल से router.js में पढ़ने में सक्षम होना चाहता हूं।

+0

आप इसे मैन्युअल रूप से fs मॉड्यूल के साथ पढ़ सकते हैं और इसे पार्स कर सकते हैं। हालांकि जावास्क्रिप्ट और JSON हाथ में हाथ जाओ। एक .config का उपयोग करना जेएस में शास्त्रीय विरासत का उपयोग करना होगा, लेकिन ऐसा करने का सबसे अच्छा तरीका नहीं है। – ste2425

उत्तर

12

आप एक JSON फ़ाइल के रूप में अपने config की दुकान और इसे सीधे पढ़ सकते हैं:

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

हालांकि यह मान्य JSON मान्य नहीं है। – robertklep

+0

@robertklep धन्यवाद, इसे ठीक किया गया। – Timo

+0

मदद के लिए धन्यवाद, बहुत सराहना की! –

3

यहाँ एक तरह से करने के लिए यह

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

निंजा एक मिनट पहले तय :) धन्यवाद। –

+0

आप तकनीकी रूप से फ़ाइल '.config' नाम दे सकते हैं और अभी भी इसे पढ़ सकते हैं यदि यह JSON को ठीक से स्वरूपित किया गया है। जब तक आप कुछ विशिष्ट एंड्रॉइड कॉन्फ़िगरेशन फ़ाइल प्रकार का मतलब न लें। –

+0

बहुत धन्यवाद, जो मेरे प्रश्न का उत्तर देता है। और नहीं, मेरा मतलब कुछ विशिष्ट एंड्रॉइड कॉन्फ़िगरेशन फ़ाइल प्रकार नहीं है, सहायता की सराहना करें। मैं आपको +1 दूंगा, लेकिन दुर्भाग्य से मुझे लगता है कि यह पहला सवाल है जिसे मैंने स्टैक ओवरफ्लो पर पूछने के लिए परेशान किया है। –

संबंधित मुद्दे