node.js - ES6 - 如何导入 connect-mongo( session )?

标签 node.js mongodb express mongoose

在 ES6 之前的版本中,这是我导入 connect-mongo( session )的方式:

var MongoStore = require("connect-mongo")(session);

但是我如何在 ES6 中导入它呢?

import MongoStore from 'connect-mongo';
let monStore = MongoStore(session);

错误:

const Store = connect.Store || connect.session.Store;
                                                  ^

TypeError: Cannot read property 'Store' of undefined

有什么想法吗?

最佳答案

使用非常相似的connect-mongodb-session,您可以:

import { default as connectMongoDBSession} from 'connect-mongodb-session';

const MongoDBStore = connectMongoDBSession(session);

var store = new MongoDBStore({
  uri: 'mongodb://localhost:27017/tmp',
  collection: 'sessions'
});

两个包(connect-mongodb-sessionconnect-mongo)都导出一个匿名函数,该函数将 express-session 模块作为一个论点。此函数返回一个构造函数,并使用modules.export 导出,因此它被视为默认导出,您可以使用import 导入它{ default as NameForAnonymousFunction } 来自 'connect-mongo'

现在,我认为您应该遵循的一个很好的学习习惯是尝试阅读您正在安装的软件包的实际代码,至少是 index.js

因为 connect-mongo 使用 mongodb@2.2.36connect-mongodb-session 使用 mongodb@3.0。 11,我在connect-mongo

之前添加了一个废弃的标签

关于node.js - ES6 - 如何导入 connect-mongo( session )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052429/

相关文章:

javascript - 为什么 Node 中的 PassportJS 不会在注销时删除 session

node.js - MongoDB 中的文本搜索、关键字搜索

node.js - 使用expressjs时highcharts-export-server出错

javascript - 如何正确连接到 mongodb.atlas? Mongo网络错误

PHP/MongoDB : how does references work in php?

javascript - Node js与mysql模块连接握手错误

node.js - nodejs xbee 未收到消息

java - RoaringBitmap使用node和java序列化为不同的字符串

mongodb - 对于 1 到 N 的关系,Mongo 中的双向引用是否更有效?

node.js - 表达错误处理意见和最佳实践