使用 tsc 构建时出现连接 mongo 错误:找不到模块 'mongoose'
connect-mongo error while building with tsc: Cannot find module 'mongoose'
我正在使用 connect-mongo
直接使用 mongodb 驱动程序将会话存储在打字稿项目中,而不使用 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
,所以我不想安装它只是为了消除这个错误。
还有其他方法可以解决吗?
谢谢!
mongoose
必须安装在生产依赖项中 npm i --save mongoose
for typescript
并且不在 devDependencies 中 npm i --save-dev mongoose
。
其实我找到了,我缺少 @types/connect-mongo
开发包。我相信 VSCode 没有警告我缺少类型,但我错了。
安装后编译运行正常:
yarn add -D @types/connect-mongo
我正在使用 connect-mongo
直接使用 mongodb 驱动程序将会话存储在打字稿项目中,而不使用 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
,所以我不想安装它只是为了消除这个错误。
还有其他方法可以解决吗?
谢谢!
mongoose
必须安装在生产依赖项中 npm i --save mongoose
for typescript
并且不在 devDependencies 中 npm i --save-dev mongoose
。
其实我找到了,我缺少 @types/connect-mongo
开发包。我相信 VSCode 没有警告我缺少类型,但我错了。
安装后编译运行正常:
yarn add -D @types/connect-mongo