2

我正在尝试在 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'
    });
}

在应用程序 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 文件,以防他们希望使用它。

有什么建议么?

谢谢!

4

2 回答 2

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
于 2013-04-03T22:25:14.527 回答
0

另外的选择:

db-config.js

module.exports = {
  hostname: 'localhost',
  user: 'username',
  ...
};

数据库.js

var config = require('./db-config');

module.exports = require('mysql').createConnection(config);

应用程序.js

var db = require('./db.js');
db.query('SELECT ?', [ 1 ], function (err, data) { ... });
于 2014-08-07T13:10:13.633 回答