如何在打字稿项目中导入外部 javascript 库

How to import an external javascript library in a typescript project

我想创建一个小库作为学习 Typescript 的借口,但结果是我真的无法导入 Javascript 库 (node-json-equal) 来我的打字稿项目。我在互联网上没有找到很多可以清楚地解释它是如何工作的,所以我打赌你会向我解释如何正确解决问题以及为什么我的方法不正确......我猜是因为正确地没有输入外部库.

Project image

要使用外部 JS 库,您可以:

A) 使用打字文件

有许多类型文件可供使用,请查看 DefinitelyTyped 网页以获取可供使用的定义文件列表。

如果找不到您的库的定义文件,我强烈建议您自己创建一个。查看 this guide 以获取有关如何创建您自己的定义文件的更多信息。

B) 为您的库声明一个变量

通过使用 declare 关键字,您可以告诉编译器不要检查该特定变量的类型安全性。

declare var nodeJsonEqual: any;

如果使用这种方法,您基本上会关闭对该变量的类型检查,并由您来确保在运行时确实存在一个名为 nodeJsonEqual 的变量,并且您调用的函数具有正确的签名。

终于找到问题了。它与我的源代码无关,但与我的 dockerfile 无关。基本上我添加了损坏的 package-lock.json ,所以最后没有下载模块。我解决了添加 package.json 的问题。