【问题标题】:How to use a local typescript declaration file for an installed module?如何为已安装的模块使用本地打字稿声明文件?
【发布时间】:2018-04-25 19:12:30
【问题描述】:

当我在@types 命名空间下安装一个没有发布类型声明的非流行模块时,我被卡住了。我知道如何编写声明文件,但我不知道如何让 typescript 编译器知道它。打字稿documentation 没有提到如何做到这一点。文档只提到搜索类型​​声明,如果没有找到,发布一个新的,但没有提到如何在不发布的情况下进行。

所以,假设我安装了一个名为 xyz 的包,并且我知道它公开的公共 api。然后,我编写了一个与暴露的 api 匹配的类型声明文件。那么,如何让 typescript 编译器知道呢?

【问题讨论】:

    标签: typescript


    【解决方案1】:

    只需将<module-name>.d.ts 文件添加到您的项目中,TypeScript 就会自动识别它。您不需要导入它或任何东西,只需在 TypeScript 处理的文件夹中即可

    【讨论】:

    • 你能说得更具体点吗,我应该把那个文件放在哪里?比如说,我所有的打字稿代码都在src/ 目录下,我应该把那个文件放在哪里?
    • 注意:在定义文件中,作者必须将导出的成员包裹在:declare module "xyz" { ... }
    • @MasBagol,把它放在src/ 下,是的。如果你愿意,你也可以在src 下添加一个文件夹types,没关系。不,您不需要“导出”任何内容,因为它是环境声明文件。
    • 啊,好的。谢谢:)
    • 文件以 ``` declare module '' 开头非常重要; ```
    【解决方案2】:

    您的项目是否包含tsconfig.json 文件?如果是这样,您可以在 compilerOptions 下指定类型定义的路径:

    {
       "compilerOptions": {
           "typeRoots" : ["./typings"]
       }
    }
    

    About 'tsconfig.json' in the TypeScript handbook

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 2017-02-16
      • 1970-01-01
      • 2021-11-04
      • 2019-09-06
      • 2018-11-06
      • 2020-11-27
      相关资源
      最近更新 更多