使用打字稿导入 "mongodb" 时出错
Error Importing "mongodb" with typescript
编译任何仅导入 mongodb
的打字稿程序时,我得到 12 个错误,例如:
node_modules/mongodb/mongodb.d.ts:3309:5 - error TS2416: Property 'end' in type 'GridFSBucketWriteStream' is not assignable to the same property in base type 'WritableStream'
使用节点 TLS (v16.13.1) 和一个空目录进行复制很简单,只需 运行:
npm i mongodb typescript
echo "import mongodb from 'mongodb'" > index.ts
npx tsc index
我无法在我的本地环境中重现您的问题,所以我认为这个问题可能与您项目中的其他包有关。
根据 this issue 上的建议,您应该尝试删除 package-lock.json
并使用 npm 重新生成它。
看起来 mongodb
npm 昨晚 (2022-01-06) 发布了 4.3.0,现在解决了这个问题! changelog includes the issue here: #3088
v4 现在编译时没有这些错误!
mongodb 4.3.0 为我解决了这个问题。
我使用猫鼬,但我将 "mongodb": "^4.3.0"
放在我的依赖项中以强制更新。我不知道这样做是否正确,但它在等待猫鼬更新时有效。
我提到了这个 https://github.com/mongodb/node-mongodb-native/pull/3088
npm i @types/node@16.11.7 --save-dev
我必须将我的@types/node 降级到版本 17.0.0
"@types/node": "17.0.0", 为我工作
阅读更多:https://github.com/mongodb/node-mongodb-native/pull/3088
编译任何仅导入 mongodb
的打字稿程序时,我得到 12 个错误,例如:
node_modules/mongodb/mongodb.d.ts:3309:5 - error TS2416: Property 'end' in type 'GridFSBucketWriteStream' is not assignable to the same property in base type 'WritableStream'
使用节点 TLS (v16.13.1) 和一个空目录进行复制很简单,只需 运行:
npm i mongodb typescript
echo "import mongodb from 'mongodb'" > index.ts
npx tsc index
我无法在我的本地环境中重现您的问题,所以我认为这个问题可能与您项目中的其他包有关。
根据 this issue 上的建议,您应该尝试删除 package-lock.json
并使用 npm 重新生成它。
看起来 mongodb
npm 昨晚 (2022-01-06) 发布了 4.3.0,现在解决了这个问题! changelog includes the issue here: #3088
v4 现在编译时没有这些错误!
mongodb 4.3.0 为我解决了这个问题。
我使用猫鼬,但我将 "mongodb": "^4.3.0"
放在我的依赖项中以强制更新。我不知道这样做是否正确,但它在等待猫鼬更新时有效。
我提到了这个 https://github.com/mongodb/node-mongodb-native/pull/3088
npm i @types/node@16.11.7 --save-dev
我必须将我的@types/node 降级到版本 17.0.0
"@types/node": "17.0.0", 为我工作
阅读更多:https://github.com/mongodb/node-mongodb-native/pull/3088