0

Express 3.0 にアップグレードした後、ノード アプリケーションでいくつかの問題が発生しています。で、書き直したので、routes/index.jsきれいに見えるので のスタイルを踏襲してみました。

したがって、私のメインでは、次のapp.jsようないくつかの変数があります。

var calls = 0;
var agents = [];

また、node-mysqlモジュールを使用します。ただし、ルート定義にはスコープがありませんapp.jsが、独自のスコープがあるためcallsagents表示されません。

それらを表示するにはどうすればよいですか?

mysqlの場合、次のようなことを試しました:

// libraries/mysql.js
mysql = require('mysql');
var mysql_conf = {
    host: myhost,
    user: myuser,
    password: mypass,
    database: mydb
};
var mysql_client = mysql.createClient(mysql_conf);

exports.mysql_client;

//Later in routes/index.js
mysql_client = require('../helpers/mysql.js');

しかし、それが言うように動作しないようですTypeError: Object #<Object> has no method 'query'

ヒントはありますか?

4

1 に答える 1

2

この線

exports.mysql_client;

mysql_clientのプロパティに実際には何も割り当てませんexports。プロパティにアクセスし、すぐに値を破棄します。次のようなことをする必要があります:

var mysql_client = mysql.createClient(mysql_conf);
exports.mysql_client = mysql_client;

// or simply

exports.mysql_client = mysql.createClient(mysql_conf);
于 2012-07-24T12:54:38.723 に答える