如何使用打字稿中的npm模块?

如何使用打字稿中的npm模块?,第1张

如何使用打字稿中的npm模块

[2018/12]这是我在2016年提出的最新,最新答案,尽管答案过时,但仍然显示出很多活动。

长话短说,Typescript需要有关程序包代码的 类型信息 (又称“
类型声明文件 ”或“
typings”),并正确地告诉您,否则您将失去Typescript的全部内容。按照最佳实践的顺序,列出了提供或选择退出的几种解决方案:


解决方案0 :该模块已经提供了类型。如果其package.json包含以下行:

"typings": "dist/index.d.ts",

它已经启用了Typescript。如果您正在阅读此页面,则很可能不是这种情况,所以让我们继续…


解决方案1
:使用来自DefinitelyTyped的社区贡献的类型。对于模块“
foo”,请尝试以下 *** 作:

npm add -D @types/foo

如果有效,请中奖!现在,您可以进行输入并可以使用您的模块了。如果npm抱怨找不到模块@ types / foo,让我们继续…


解决方案2 :提供有关此模块的自定义类型。(可以选择零努力)

  1. 在项目的根目录下创建一个名为“ typings-custom”的文件夹
  2. 在tsconfig.json中引用此文件夹的内容:

    “include”: [
    “./typings-custom/*/.ts”
    ]

  3. 创建一个具有以下确切名称的文件:foo.d.ts [foo =模块的名称],其内容为:

    declare module ‘foo’

您的Typescript代码现在应该编译,尽管没有类型信息(Typescript考虑类型为“ any”的foo模块)。

您也可以尝试自己编写类型信息,查看官方文档和/或DefinitelyTyped中的示例。如果您这样做了,可以考虑将您的类型直接贡献给模块(如果模块作者接受,则为解决方案0),或者直接贡献给DefinitelyTyped(解决方案1)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4988671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存