首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6 -如何导入connect-mongo (会话)?

ES6 -如何导入connect-mongo (会话)?
EN

Stack Overflow用户
提问于 2016-08-20 17:12:01
回答 5查看 5.2K关注 0票数 4

在ES6之前的版本中,我是这样导入connect-mongo (会话)的:

代码语言:javascript
复制
var MongoStore = require("connect-mongo")(session);

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

代码语言:javascript
复制
import MongoStore from 'connect-mongo';
let monStore = MongoStore(session);

错误:

代码语言:javascript
复制
const Store = connect.Store || connect.session.Store;
                                                  ^

TypeError: Cannot read property 'Store' of undefined

有什么想法吗?

EN

回答 5

Stack Overflow用户

发布于 2016-08-20 18:16:09

您可以尝试像这样导入:

代码语言:javascript
复制
import * as connectMongo from 'connect-mongo';

const MongoStore = connectMongo(session);

来自MDN文档

导入整个模块的内容。这会将myModule插入到当前作用域中,其中包含从"my-module.js“导出的所有绑定。

import * as myModule from "my-module";

More information can be found here.

票数 5
EN

Stack Overflow用户

发布于 2018-08-16 16:26:34

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

代码语言:javascript
复制
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 } from 'connect-mongo'导入它。

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

由于connect-mongo使用的是mongodb@2.2.36,而connect-mongodb-session使用的是mongodb@3.0.11,因此我在connect-mongo之前添加了一个不推荐使用的标记

票数 5
EN

Stack Overflow用户

发布于 2019-05-20 03:16:22

使用session-file-store进行测试,如下所示:

代码语言:javascript
复制
import expressSession from 'express-session';
import sessionFileStore from 'session-file-store';
const FileStore = sessionFileStore(expressSession);

对于connect-mongo,应该是这样工作的:

代码语言:javascript
复制
import session from 'express-session';
import connectMongo from 'connect-mongo'; 
const MongoStore = connectMongo(session);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39052429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档