1

nodejs プロジェクトに config.js があります

var mysql  = require('mysql');
var db_name = 'node';
var client = mysql.createClient({
  user: 'root',
  password: 'pass',
});
client.query('USE '+db_name);

プロジェクトの構成ファイルとして使用しました。このコードを使用して mysql クエリを呼び出す方法。

このコードはuser.jsにあります

var global = require('./config.js');

this.CheckUserValid = function (login, pass) {
    var sql = "SELECT * FROM `user` WHERE login = ? AND pass= ?";
    global.client.query(sql, [login, pass], function selectResutl(err, results, fields) {
        if (!err) return results;
        else
            throw err;
    });
}

TypeError: Cannot call method 'query' of undefined
    at Object.CheckUserValid (C:\wamp\www\Node\user.js:6:19)

誰かがこれをより良い方法で行う方法を教えてもらえますか.実際に私は過去にasp.net mvcを使用しているので、試してみました. nodejsでコードを書くためのより良い方法を教えてください。

4

1 に答える 1

3

require()ファイル/モジュールの場合、得られる結果は、モジュールがプロパティを介してエクスポートしているものですexports。それ以外はモジュール内にカプセル化されており、外部からアクセスすることはできません。あなたの場合、最後にconfig.js次を追加できます:

exports.client = client;

require()これにより、config.jsをいつでもアクセスできるようになります。

モジュールを作成するこの方法は、CommonJS 仕様で定義されています。

edit : commonjs.org がダウンしているようなので、このタイプのモジュールに関する情報を含む別のリンクを次に示します: http://dailyjs.com/2010/10/18/modules/

于 2012-05-31T04:17:37.840 に答える