如何在快速会话的会话对象中使用变量作为密钥
How to use variable as secret key in express-session's session object
我有一个 express.js 文件需要 config.js 加载 development.js。现在我想在 express-session 的会话对象中使用 secret 作为变量。我将简要介绍一下到目前为止我是如何设置代码的。
配置文件夹
Env
-- development.js
-- config.js
-- express.js
Development.js
module.exports = function(){
sessionSecret: 'developmentSessionSecret'
}
Config.js
module.exports = require('./env/' + process.env.NODE_ENV + '.js' );
** Express.js **
var config = require('./config'),
session = require('express-session');
app.use(session({
saveUninitialized: true,
resave: true,
secret: config.sessionSecret
}));
问题 是 console.log(config.sessionSecret) 未定义。
为什么这不起作用,正确的设置方法是什么?
您的 development.js
正在导出一个您从未调用过的构造函数(它也没有 return 任何东西)。
根据您在调用者中使用的语法,您的意思可能是 development.js
是这样的:
module.exports = {
sessionSecret: 'developmentSessionSecret'
}
它只是导出一个静态对象,您的其余代码可以直接使用该对象。
我有一个 express.js 文件需要 config.js 加载 development.js。现在我想在 express-session 的会话对象中使用 secret 作为变量。我将简要介绍一下到目前为止我是如何设置代码的。
配置文件夹
Env
-- development.js
-- config.js
-- express.js
Development.js
module.exports = function(){
sessionSecret: 'developmentSessionSecret'
}
Config.js
module.exports = require('./env/' + process.env.NODE_ENV + '.js' );
** Express.js **
var config = require('./config'),
session = require('express-session');
app.use(session({
saveUninitialized: true,
resave: true,
secret: config.sessionSecret
}));
问题 是 console.log(config.sessionSecret) 未定义。 为什么这不起作用,正确的设置方法是什么?
您的 development.js
正在导出一个您从未调用过的构造函数(它也没有 return 任何东西)。
根据您在调用者中使用的语法,您的意思可能是 development.js
是这样的:
module.exports = {
sessionSecret: 'developmentSessionSecret'
}
它只是导出一个静态对象,您的其余代码可以直接使用该对象。