如何在没有 d.ts 文件的情况下导入第三方包?

How can I import third party package without d.ts file?

我正在学习打字稿。当我尝试导入一些包时出现一些错误。我检查了 node_modules 文件夹,它已下载但没有 *.d.ts 文件。我如何导入它们?

为他们制作模块。确保在本地包含 types 目录的路径:

declare module 'vue-cookie' {

}

所有 module declarations 都需要在它们自己的单独文件中。例如,vue-cookie 文件应该命名为 vue-cookie.d.ts.

此外,当您浏览模块时,您可以开始正确输入它。

您可以将所有自定义导入文件放入我自己的文件中。例如,创建 shared/types/imports.d.ts 文件。

declare module "vue-multiselect";
declare module "vue-notification";

并在您的 tsconfig.json 文件中包含具有以下行的导入。

"typeRoots": [
  "node_modules/@types", "VueApp/shared/types"
],

当然,请重新启动您的 IDE,因为有时它不会立即检测到更改。