如何在express-session的会话对象中使用变量作为密钥

时间:2016-07-17 17:58:25

标签: node.js express-session

我有一个express.js文件,需要加载development.js的config.js。现在我想使用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)未定义。   为什么这不起作用,设置的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您的development.js正在导出一个您从未调用的构造函数(并且它也不会返回任何内容)。

根据您在调用者中使用的语法,您可能认为development.js是这样的:

module.exports = {
    sessionSecret: 'developmentSessionSecret'
}

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