如何在routes / index.js文件中使用clients
变量。
这是我的代码,
app.js
clients = new cassandra.Client({ contactPoints:[config.contactPoints], keyspace: config.keyspace,authProvider: new cassandra.auth.PlainTextAuthProvider(config.userName, config.password)});
答案 0 :(得分:0)
您可以在index.js中定义方法,将其导出并将客户端作为参数传递给创建的方法。
在index.js
中var clients;
exports.assignVal = function(clients){
this.clients = clients;
};
在app.js
routes = require('./index');
routes.assignVal(clients);
答案 1 :(得分:0)
如果您希望分别为每个请求确定此变量的范围,可以使用res.locals,在其他情况下,您可以使用app.locals
答案 2 :(得分:0)
您可以稍微更改路由器文件以传入参数。像这样:
var express = require('express')
var router = express.Router()
module.exports = function(your variable) {
// router.get(...) etc.
return router
}
然后在app.js
,当您require
路由器时:
var index = require('./routes/index')(your variable)
显然,确保在要求路由器之前定义了变量。