2012-09-10 19 views
5

सबसे पहले, मैं नोड.जे.एस. के संबंध में एक बिल्कुल नया डेवलपर हूं।नोडजेएस को मॉड्यूल की आवश्यकता है

मैंने नमूना एक्सप्रेस एप्लिकेशन बनाना शुरू कर दिया है, और मैं इसके बारे में अधिक जानने के लिए एक अतिरिक्त मॉड्यूल का उपयोग करना चाहता था। मैंने एनपीएम के माध्यम से "mysql" मॉड्यूल के माध्यम से स्थापित किया है, ठीक है।

मैं इसे एप्लिकेशन की शुरुआत में जोड़ लिया है की, इस तरह:।

var mysql = require('mysql'); 

अब, जैसा कि आप पहले से ही पता है, निर्देशिका मार्गों के अंदर एक index.js फ़ाइल बनाई एक्सप्रेस: ​​मैं चाहते हैं इस index.js पेज से डाटाबेस से कनेक्ट करने के mysql चर का उपयोग कर सकेंगे लेकिन, कमांड

var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : 'root', 
}); 

स्पष्ट रूप से का उपयोग कर काम नहीं करता दे रही है "500 ReferenceError: mysql परिभाषित नहीं है"।

बेशक

, मुझे यकीन है कि मैं इस चर पारित करने के लिए की जरूरत है हूँ, लेकिन मैं वास्तव में कोई सुराग नहीं है, किसी भी अच्छी आत्मा मुझे प्रबुद्ध कर सकते हैं? मैं जानता हूँ कि यह एक बहुत छोटा और बुनियादी बात है, लेकिन मैं पहले से ही इस की कोशिश की, और काम करने के लिए प्रतीत नहीं होता:

... app.get('/', routes.index, mysql); ... 

और index.js पर:

exports.index = function(req, res, mysql){ ... 

उत्तर

5

Node.js में, आप फ़ाइलों को आप उन्हें में उपयोग करने की आवश्यकता में require मॉड्यूल चाहिए; इसलिए, आप अपने routes/index.js फ़ाइल में mysql पैकेज का उपयोग करने के लिए, उस फ़ाइल के शीर्ष पर चाहते हैं, तो ऐसा

var mysql = require('mysql'); 

आप एक से अधिक फ़ाइल में एक मॉड्यूल की आवश्यकता होती है खत्म हो सकता है; यह सामान्य है और कई मायनों में,, एक अच्छी बात है (कोई नेमस्पेसिंग मुद्दों, आदि)

आप मॉड्यूल और पैकेज के बारे में अधिक जानने के लिए चाहते हैं, तो आप इन दो स्क्रीनकास्ट में रुचि हो सकती:

0

app.get() के माध्यम से mysql वस्तु पासिंग एक सामान्य प्रतिक्रिया होगी, लेकिन मैं बहुत यकीन है कि आप ov रहे हैं हूँ यह सोच रहा है।

यह routes/index.js के शीर्ष पर var mysql = require('mysql'); सहित के रूप में सरल है। वास्तव में, आप पा सकते हैं कि आप भले ही सभी डेटाबेस बातचीत अपने मार्गों में किया जाता app.js में mysql की आवश्यकता की जरूरत नहीं है।

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