2

Node アプリの Node で felixge/node-mysql を使用しようとしています。ただし、通常の代わりに

mysql.createConnection(...) 

app.js では、「config」ファイルとして分離したかったのです。現在、私の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() は失敗します。

目的は、DB 接続情報を公開せずにリポジトリにコミットし、ユーザーが使用したい場合に備えて dbSample ファイルを提供できるようにすることです。

助言がありますか?

ありがとう!

4

2 に答える 2

1

I did not know about exporting in Node so as per Nick's hint, the following code works for 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;

In the 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',
  ...
};

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) { ... });
于 2014-08-07T13:10:13.633 に答える