0

我正在使用connect-mongomongodb 驱动程序直接在 typescript 项目中存储会话,而不使用 moongose。我正在初始化它,clientPromise如下所示:

const store = new MongoStore({
    clientPromise: getMongoPromise(),
    collection: config.get('sessionCollection'),
    touchAfter: 24 * 3600,
    ttl: Number(config.get('sessionDuration')) * 24 * 3600,
});

当我以开发模式(使用)运行我的应用程序时,ts-node --transpile-only src/start.ts一切正常,但是当我尝试使用它编译它时,tsc它给了我这个错误:

$ tsc
node_modules/connect-mongo/src/types.d.ts(11,27): error TS2307: Cannot find module 'mongoose'.
error Command failed with exit code 2.

我没有moongose在我的应用程序中使用,所以我不想安装它只是为了消除这个错误。还有其他方法可以解决吗?

谢谢!

4

2 回答 2

0

mongoose必须安装在npm i --save mongoosetypescript的生产依赖项中

而不是在 devDependencies 中npm i --save-dev mongoose

于 2019-11-28T14:42:11.360 回答
0

实际上我找到了,我错过了@types/connect-mongo开发包。我信任 VSCode,它没有警告我缺少类型,但我错了。

安装后编译现在运行良好:

yarn add -D @types/connect-mongo
于 2019-11-28T14:42:57.360 回答