我在node.js中设置会话变量有问题,我们在后端使用MongoDb,在前端使用Angular.js。
获取错误 错误:大多数中间件(如会话)不再与Express捆绑,必须 单独安装。请参阅https://github.com/senchalabs/connect#middleware。
请指导我。
答案 0 :(得分:0)
你需要使用cookie解析器,快速会话,mongodb作为会话存储,它很容易在快递中配置。
在您的快速配置中:
var session = require('express-session'),
cookieParser = require('cookie-parser'),
mongoStore = require('connect-mongo')({
session: session
});
module.exports = function(db) {
var app = express();
// CookieParser should be above session
var cp =cookieParser;
app.use(cp());
// Express MongoDB session storage
var mStore = new mongoStore({
db: db.connection.db,
collection: 'sessions'
});
app.use(session({
secret: 'any random string',
store: mStore,
cookie: {httpOnly: false}, //optional
key:config.'connect.sid',
}));
};
其中db是你的数据库实例(它可能是mongoose)
var db = mongoose.connect('mongodb://your.ip/database.name');
您可以覆盖建议的所有配置。