2017-07-17 8 views
1

routes/index.jsファイルの変数clientsの使用方法。ここすべてのルートファイルでapp.js変数を使用する方法は?

は私のコードは、あなたが、index.jsでメソッドを定義し、それをエクスポートして作成したメソッドのパラメータとしてクライアントに渡すことができ、

app.js

clients = new cassandra.Client({ contactPoints:[config.contactPoints], keyspace: config.keyspace,authProvider: new cassandra.auth.PlainTextAuthProvider(config.userName, config.password)}); 
+0

これはExpressアプリケーションですか? – ImClarky

+0

はいこれは明示的なアプリケーション@ImClarky –

答えて

0

です。 app.js

routes = require('./index'); 
routes.assignVal(clients); 
+0

ありがとう私はあなたのコードを試してみましたが、TypeErrorのような戻りエラー:routes.assignValは関数ではありません –

0

index.jsで

var clients; 

exports.assignVal = function(clients){ 
    this.clients = clients; 
}; 

あなたはこの変数がseparatly要求ごとにスコープさせたい場合は、あなたがapp.localsを使用することができ、他の場合には、res.localsを使用することができます

+0

これはありがたいですが、ノードjs内の。 –

0

ルータファイルをわずかに変更して、パラメータを渡すことができます。そのような:

var index = require('./routes/index')(your variable) 

明らかに、あなたの変数があなたのルーターを必要とする前に定義されていることを確認してください:あなたrequireルーターapp.jsで次に

var express = require('express') 
var router = express.Router() 

module.exports = function(your variable) { 
    // router.get(...) etc. 

    return router 
} 

、。

+0

ありがとう、私はあなたのコードを試みたが、TypeErrorのような戻りエラー:app.jsの未定義のプロパティ 'apply'を読み取ることができません –

関連する問題