【问题标题】:"x" cannot be invoked without "new"没有“new”就不能调用“x”
【发布时间】:2021-07-06 15:31:58
【问题描述】:

目前正在学习 Brad Traversy 人关于使用 node.js 编写交互式 WebApp 的教程,但我遇到了一个问题,当我顺便粘贴他的 github 代码时,问题仍然存在。

const MongoStore = require("connect-mongo")(session)

我正在使用 connect-mongo 来存储会话数据,但是 require 不起作用并且它抛出了这个错误:

TypeError:没有'new'就不能调用类构造函数MongoStore

有人可以帮我简单解释一下并用一段代码来解决这个问题,因为我在 stackoverflow 上查看了几个类似的问题,但并没有真正理解。

干杯

【问题讨论】:

标签: javascript node.js mongodb node-modules


【解决方案1】:

教程可能是旧的。库 API 可以更改,我建议您使用来自https://www.npmjs.com/package/connect-mongo 的最新文档

另外如果你能找到,你可以用npm i connect-mongo@versionhere安装教程中使用的相同版本的connect-mongo

新用法:

const session = require('express-session');
const MongoStore = require('connect-mongo');

app.use(session({
  secret: 'foo',
  store: MongoStore.create(options)
}));

而不是new MongoStore(),您似乎需要使用MongoStore.create(options)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-29
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2019-04-21
    相关资源
    最近更新 更多