【问题标题】:Felixge/Node-Mysql Separate Connection FileFelixge/Node-Mysql 单独的连接文件
【发布时间】:2013-03-25 09:54:56
【问题描述】:

我正在尝试在 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 文件,以防他们希望使用它。

有什么建议吗?

谢谢!

【问题讨论】:

  • 可能是个愚蠢的问题,但您是从配置中导出 localConnect() 函数吗?
  • 根本不是一个愚蠢的问题,这正是我所需要的!

标签: javascript mysql database node.js


【解决方案1】:

另一种选择:

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) { ... });

【讨论】:

    【解决方案2】:

    我不知道如何在 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
    

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2017-05-04
      • 2018-01-08
      • 2013-02-18
      相关资源
      最近更新 更多