0

我正在使用 Vue.js + 打字稿。我有项目“A”,其中我使用了一个私有 npm 包“B”(它是一个组件库),其中我使用了另一个包 - 'tiptap' 库。默认情况下它没有类型,所以我在项目“A”中编写了我的 shims.d.ts 文件,我在其中声明了模块“tiptap”

declare module 'tiptap' { //... }

它工作正常。但是当我将此文件移动到包 B 时,TypScript 看不到它们并导致没有类型的错误。 查看包B的文件夹

找不到模块“tiptap”的声明文件。'C:/some_path/tiptap/dist/tiptap.common.js' 隐含了一个 'any' 类型。

我究竟做错了什么?

4

1 回答 1

0

听起来您shims.d.ts在项目“A”和“B”中都有文件的副本?问题是在编译“B”时找不到tiptap的类型定义?

一个常见的问题是.d.ts文件的位置。它必须位于 TypeScript 将查找源文件的目录中。如果您设置了这些选项,请检查您的"include""exclude"设置tsconfig.json,并确保它shims.d.ts位于包含的目录之一中,并且不匹配任何排除模式。

于 2020-04-03T14:21:36.480 回答