如何在 Nodejs 中的文件之间导出会话变量?
How to export session variables between files in Nodejs?
我的 server.js 文件中目前有:
const neo4j_conn = 'bolt://' + config.neo4j.host;
const driver = neo4j.driver(neo4j_conn, neo4j.auth.basic(config.neo4j.username, config.neo4j.passphrase));
const session = driver.session();
app.set('neo4jsession', session);
require('./app/routes')(app);
在我的路线文件中我有:
const session = app.get('neo4jsession');
考虑到每个请求我只需要一个会话,这是我连接到数据库并取回会话的正确方法吗?你能为此目的建议一个更好的设计模式/编码方法吗?
在你的例子中,你打开会话,它是整个服务器的一个。
您需要传递 function
而不是 function
的结果:
app.set('neo4jsession', driver.session);
如果我们以开箱即用的路由器为例:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
const session = req.app.get('session')();
session
.run( query )
.then( function(result)
{
res.json( result );
session.close();
})
});
module.exports = router;
我的 server.js 文件中目前有:
const neo4j_conn = 'bolt://' + config.neo4j.host;
const driver = neo4j.driver(neo4j_conn, neo4j.auth.basic(config.neo4j.username, config.neo4j.passphrase));
const session = driver.session();
app.set('neo4jsession', session);
require('./app/routes')(app);
在我的路线文件中我有:
const session = app.get('neo4jsession');
考虑到每个请求我只需要一个会话,这是我连接到数据库并取回会话的正确方法吗?你能为此目的建议一个更好的设计模式/编码方法吗?
在你的例子中,你打开会话,它是整个服务器的一个。
您需要传递 function
而不是 function
的结果:
app.set('neo4jsession', driver.session);
如果我们以开箱即用的路由器为例:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
const session = req.app.get('session')();
session
.run( query )
.then( function(result)
{
res.json( result );
session.close();
})
});
module.exports = router;