javascript - Getting an error require(...) is not a function in java script while loading a 'connect-mongo' module
问题描述
I am getting a TypeError: require(...) is not a function every time i run my server.js file Every time i run i am getting this error
This is the server file that makes issues when trying to run const MongoDbStore = require('connect-mongo')(session)
.
require('dotenv').config()
const express = require('express')
const app = express()
const ejs = require('ejs')
const path = require('path')
const expressLayout = require('express-ejs-layouts')
const PORT = process.env.PORT || 2000
const mongoose = require('mongoose')
const session = require('express-session')
const flash = require('express-flash')
const MongoDbStore = require('connect-mongo')(session)
// Database connection
const url = 'mongodb://localhost/pizza';
mongoose.connect(url, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: true
});
const connection = mongoose.connection;
connection.once('open', () => {
console.log('Database connected...');
}).catch(err => {
console.log('Connection failed...')
})
//Session confg
app.use(session({
secret: process.env.COOKIE_SECRET,
resave: false,
saveUninitialized: false,
cookie: {
maxAge: 10006024
}
}))
app.use(flash())
// Assets
app.use(express.static('public'))
// set Template engine
app.use(expressLayout)
app.set('views', path.join(__dirname, '/resources/views'))
app.set('view engine', 'ejs')
require('./routes/web')(app)
app.listen(PORT, () => {
console.log(Listening on port $ {
PORT
})
})
解决方案
你好@pranay_gaurav123,
使用下面的代码,它将起作用。看起来 connect-mongo 最近更新了。我也遇到了这个问题,这就是我解决它的方法。
const session = require("express-session");
const MongoStore = require("connect-mongo").default;
//session configuration
const mongoStore = MongoStore.create({
mongoUrl: url,
collectionName: "sessions",
});
app.use(
session({
secret: process.env.COOKIE_SECRET,
resave: false,
saveUninitialized: false,
store: mongoStore,
cookie: { maxAge: 1000 * 60 * 60 * 24 }, //cookie valid for 24 hours
})
);
where url is "mongodb://localhost/pizza"
希望我能帮助你:)
推荐阅读
- javascript - while 条件中的赋值检查什么?
- javascript - 如何修复我的 html/javascript 代码来为精灵表设置动画?
- angularjs - Angular json 查询 - 是否需要使用 cors?请让我知道,因为我是 Angular 的新手,我知之甚少
- c# - 每当我使用 C# 将数据保存到 SQL Server 数据库时,都会出现错误
- java - 在 JDA 中向提及的用户添加角色
- java - Spring-Boot第二次运行jar文件导致超时问题
- html - Bootstrap 4 - 如何在溢出的列之间添加空间
- reinforcement-learning - 如何在强化学习的数字表示中表示状态。(创建一个 Q 表)
- c++ - 获取正确的 OpenCL enqueue_kernel 错误代码
- ios - 仅在生产版本中崩溃,EXC_BAD_ACCESS KERN_INVALID_ADDRESS