【发布时间】:2019-10-21 22:19:59
【问题描述】:
我将hapi 用于我的一个节点+打字稿项目。由于“裸”包的弃用,我正在尝试将hapi 更新为新的@hapi/hapi 包。我已将@types/hapi 更改为@types/hapi__hapi。
一更新,我就开始收到 TypeScript 错误 -
node_modules/@types/hapi__hapi/index.d.ts:514:32 - error TS2709: Cannot use namespace 'Boom' as a type.
514 response: ResponseObject | Boom;
~~~~
node_modules/@types/hapi__hapi/index.d.ts:4050:18 - error TS2709: Cannot use namespace 'Boom' as a type.
4050 (Error | Boom) |
~~~~
Found 2 errors.
这是我在 package.json 中的依赖项 -
{
...
"devDependencies": {
...
"@types/hapi__boom": "7.4.1",
"@types/hapi__hapi": "18.2.5",
"@types/hapi__joi": "16.0.1",
"@types/nock": "10.0.3",
"@typescript-eslint/eslint-plugin": "2.4.0",
"jest": "24.9.0",
"nock": "11.4.0",
"nodemon": "1.19.4",
"prettier": "1.18.2",
"typescript": "3.6.4"
},
"dependencies": {
...
"@hapi/boom": "8.0.1",
"@hapi/hapi": "18.4.0",
"@hapi/joi": "16.1.7",
"axios": "0.19.0",
"axios-retry": "3.1.2"
},
...
}
我检查了node_modules/@types/hapi__hapi/index.d.ts 文件,它正在使用以下方式导入Boom -
import * as Boom from '@hapi/boom';
当我把它改成
import { Boom } from '@hapi/boom';
它解决了错误。
我无法更改index.d.ts 文件,因为它来自@types/hapi__hapi 包,但我想解决这个问题。有什么办法可以避免出现此错误,例如降级到某个特定版本?
【问题讨论】:
-
听起来你需要报告一个错误
-
@Liam 谢谢,我打算发布这个错误,但发现他们已经有一个解决方法是降级 @hapi/boom 包
标签: javascript node.js typescript typescript-typings hapijs