0
我很好奇NodeJS導出模塊的方式。我知道要導出一個方法,我們寫出exports keyword.methodname。Node.js導出問題
然而,我的模塊是一個連接:
//Require mysql connector that you installed with npm
var mysql = require('mysql');
var conn_conf = {
host : 'localhost',
port : 3306,
user : 'root',
password : 'root',
database : 'nutrition_tracker'
}
var connection = mysql.createConnection(conn_conf);
connection.connect(function(err) {
if(err) console.log("Could not connect to DB");
else{
console.log("Connected to "+conn_conf.database+' on '+conn_conf.host);
}
});
然後需要它的文件中:
var db2 = require('../db/mysql_conn');
console.log(db2)
但每次,DB2是{}。我不明白爲什麼 - 我不應該要求模塊給我連接嗎?我甚至嘗試在模塊中返回連接,但同樣的事情 - db2是{}。
感謝。你能解釋一下expors = module.exports =連接的東西嗎?爲什麼沒有它,我的工作就不行?謝謝。 – user2417731
'exports = module.exports = connection'有點無用。唯一重要的部分是'module.exports = connection'。將它分配給'exports'變量只是意味着你可以使用它而不是在後面遍佈整個地方輸入'module.exports',但是因爲你再也不會這麼做了,所以它沒用。 'exports'變量在當前模塊中只是一個常規的全局變量。沒有什麼神奇的。 – slebetman
@ user2417731一個很好的解釋可以在文檔中找到:http://nodejs.org/api/modules.html –