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 –