2012-09-10 16 views
5

まずは、Node.jsに関してまったく新しい開発者です。モジュールを必要とするNodeJS

私はサンプルエクスプレスアプリケーションの作成を開始しました。追加モジュールを使用して詳細を知りたいと思いました。 npm経由で "mysql"モジュールをインストールしました。

私はアプリの初めにそれを追加しているの、次のように:。

var mysql = require('mysql'); 

今、あなたはすでに知っているように、ディレクトリのルート内のindex.jsファイルを作成したExpressの場合:私はしたいと思いますこのindex.jsページからDBに接続するために、MySQLの変数にアクセスすることができますが、コマンドに

var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : 'root', 
}); 

を使用することは、明らかに「500にReferenceError:mysqlのが定義されていない」を与えて、動作しません。

もちろん、私はこの変数を渡す必要があると確信していますが、実際には手がかりがありません。良い魂が私を啓発することはできますか? 、Node.jsので

exports.index = function(req, res, mysql){ ... 

答えて

5

:私は、これは非常に小さく、基本的なことですけど、私はすでにこれを試みたが、動作していないよう:

... app.get('/', routes.index, mysql); ... 

とindex.jsにあなたはそれを使用する必要があるファイル内のモジュールrequireをすべきです。そう、あなたがそのファイルの先頭に、あなたのroutes/index.jsファイルにmysqlパッケージを使用する場合は、複数のファイル内のモジュールを必要としてしまうことがあり

var mysql = require('mysql'); 

を行います。これは、あなたがモジュールやパッケージについての詳細を知りたい場合は、これらの二つのスクリーンキャストに興味がある可能性があり、通常と、多くの点で、良いこと(なし名前空間の問題など)

です:

0

は、通常の反応だろうapp.get()を通じてmysqlオブジェクトを渡す、私はあなたがOVしているかなり確信していますそれを考えている。

これは、の先頭にroutes/index.jsを含めると簡単です。実際には、あなたのルートですべてのデータベースのやりとりが行われている場合には、app.jsにmysqlを要求する必要さえないことがあります。

関連する問題