【问题标题】:hapi.js Version 18.x Typingshapi.js 版本 18.x
【发布时间】:2019-10-17 09:25:47
【问题描述】:

我最近升级了我的项目以使用 @hapi/hapi 节点模块与旧的 hapi 模块。我正在使用版本 18.3.1 ("@hapi/hapi": "^18.3.1")。

我的 Typescript 定义不再起作用,因为 Import 显示:import * as Hapi from 'hapi';

运行节点进程时,我得到模块未找到错误。有没有办法将@types/hapi 类型指向新的@hapi/hapi 模块?

【问题讨论】:

    标签: node.js typescript hapijs


    【解决方案1】:

    卸载 @types/hapi 依赖项。这对我搬到18.3.1 不起作用。而是安装@types/hapi__hapi。我搜索了一会儿,然后遇到了那个包,这似乎可以解决问题。

    npm un @types/hapi -D
    npm i @types/hapi__hapi -D
    

    那么不是从'hapi' 导入,而是从'@hapi/hapi' 导入。

    import * as Hapi from '@hapi/hapi';
    

    【讨论】:

    • 谢谢!很好的发现 hapi__hapi 打字
    • 这也适用于 Joi:npm i @types/hapi__joi -D
    • 是的,用于测试 @types/hapi__code@types/hapi__lab。我很高兴你又要走了。我被困了一段时间;-P
    • 有人知道为什么会这样吗?
    • 得到了答案:github.com/DefinitelyTyped/DefinitelyTyped/pull/… 基本上,@types/hapi__hapi 用于将包名称更改为 @hapi/hapi 而只是 hapi。由于打字的工作方式,这是必需的。
    猜你喜欢
    • 1970-01-01
    • 2021-05-07
    • 2016-02-13
    • 2012-10-11
    • 2018-12-30
    • 1970-01-01
    • 2019-06-05
    • 2019-03-02
    相关资源
    最近更新 更多