そこで簡単な質問です。基本的に、MySQL サーバーに接続する高速アプリケーションを作成しています。ものすごく単純。しかし、パスワードやデータベースを変更する場合に複数のファイルを変更する必要がないように、ファイル間のすべての接続コードの追加を停止するにはどうすればよいですか。
例:
app.coffee
client = mysql.createClient
user: config.db.user,
password: config.db.pass
app.get '/', routes.index
routes/index.coffee
client = mysql.createClient
user: config.db.user,
password: config.db.pass
exports.index = (req, res) ->
res.render 'index'
lib/mysql.coffee
次のようなファイルを作成しようとしました。
config = require '../config'
mysql = require 'mysql'
module.exports = ( ->
mysql.createClient
host: config.db.host
user: config.db.user
password: config.db.pass
database: config.db.name
)
アプリでは、次のように移動できます。
mysql = require './lib/mysql'
mysql.query 'SHOW TABLES', (err,r,f) ->
console.log err
しかし、それは与え続けます:
TypeError: Object function () {
return mysql.createClient({
host: config.db.host,
user: config.db.user,
password: config.db.pass,
database: config.db.name
});
} has no method 'query'