Ola, eu to com um problema na hora de configurar a session na minha apliação em nodejs. Segue o erro que estou recebendo:
meu server.js
require('dotenv').config();
const express = require('express');
const app = express();
const mongoose = require('mongoose');
const routes = require('./routes');
const path = require('path');
const session = require('express-session');
const MongoStore = require('connect-mongo');
const flash = require('connect-flash');
mongoose.connect(process.env.DBKEY, {useNewUrlParser: true, useUnifiedTopology: true})
.then(() => {
console.log('connected to database!');
app.emit('ready');
})
.catch(err => console.log(err));
const sessionOptions = session({
secrect: 'secret key',
store: MongoStore.create({ mongoUrl: process.env.DBKEY }),
resave: false,
saveUninitialized: false,
cookie: {
maxAge: 1000 * 60 * 60 * 24 * 7, //7 dias
httpOnly: true
}
})
app.use(sessionOptions);
app.use(flash());
app.use(express.urlencoded({extended: true}));
app.use(express.json());
app.use(express.static(path.resolve(__dirname, 'public')));
app.set('views', path.resolve(__dirname, 'src', 'views'));
app.set('view engine', 'ejs');
app.use(routes);
app.on('ready', () => {
app.listen(5000, () => {
console.log('runnig on port 3000');
});
})
pacotes instalados:
"dependencies": {
"connect-flash": "^0.1.1",
"connect-mongo": "^4.4.0",
"core-js": "^3.3.2",
"css-loader": "^3.2.0",
"dotenv": "^8.2.0",
"ejs": "^3.1.6",
"express": "^4.17.1",
"express-session": "^1.17.1",
"mongoose": "^5.12.5",
"regenerator-runtime": "^0.13.3",
"style-loader": "^1.0.0"
},
"devDependencies": {
"@babel/cli": "^7.6.4",
"@babel/core": "^7.6.4",
"@babel/preset-env": "^7.6.3",
"babel-loader": "^8.0.6",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.9",
"nodemon": "^2.0.7"
}