我试图在Node中为我的节点应用程序使用felixge / node-mysql。 但是,而不是通常的
mysql.createConnection(...)
在app.js中的,我希望将它作为“配置”文件分开。 现在在我的config.js中它是:
function localConnect(){
//Node Mysql dependency npm install mysql@2.0.0-alpha7
return require('mysql').createConnection({
hostname: 'localhost',
user: 'username',
password: 'password',
database: 'database'
});
}
并在app js:
...
//Node Mysql dependency npm install mysql@2.0.0-alpha7
var mysql = require('mysql');
//MYSQL database config file
var connection = require('./config.js').localConnect();
connection.connect();
和connection.connect()失败。
目的是让我可以将它提交到我的仓库而不暴露我的数据库连接信息,并且仍然为他们想要使用它的用户提供dbSample文件。
有什么建议吗?
谢谢!
答案 0 :(得分:1)
我不知道在Node中导出,所以根据Nick的提示,以下代码适用于config.js:
var mysql = function localConnect(){
//Node Mysql dependency npm install mysql@2.0.0-alpha7
return require('mysql').createConnection({
hostname: 'localhost',
user: 'username',
password: 'password',
database: 'database'
});
}
module.exports.localConnect = mysql;
在app.js中:
//MYSQL database config file
var connection = require('./config.js').localConnect();
connection.connect(); //Successful
答案 1 :(得分:0)
另一种选择:
DB-config.js
module.exports = {
hostname: 'localhost',
user: 'username',
...
};
db.js
var config = require('./db-config');
module.exports = require('mysql').createConnection(config);
app.js
var db = require('./db.js');
db.query('SELECT ?', [ 1 ], function (err, data) { ... });