如何在快速会话的会话对象中使用变量作为密钥

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'
}

它只是导出一个静态对象,您的其余代码可以直接使用该对象。