在自定义NPM软件包中找不到类型声明文件

时间:2020-07-09 15:31:13

标签: typescript npm

我写了一个NPM软件包,其中包含旧版仅JS NPM软件包的类型声明。这些都是专有的,因此我无法将其发布到公共注册表。我正在尝试将类型包引入描述另一个旧式npm包的不同类型包中。

每种类型的程序包都使用表示法声明模块:
declare module "@company/legacy-package/sub-module"

因此,我具有以下项目结构:

 - @company-a/project-a
    - node_modules
       - @company-a/project-b
上例中的

project-b包含以下文件结构:

 - index.d.ts
 - package-name.d.ts
   - `declare module "@company-b/package-name/module-name"`

在project-a中,尝试导入上面示例中命名的模块,提供了“找不到模块”错误:
import { SomeStuff } from "@company-b/package-name/module-name"

我确保为project-a包括typeRoots:

compilerOptions: {
   typeRoots: [
      "./node_modules/@types",
      "./node_modules/@company-a/package-b"
   ]
}

我不确定我错过了什么,因为我无法在@ company-a / package-a项目中获取@ company-b的类型。

当我使用路径src/@types/@company-b/package-name.d.ts将所有类型直接包含在项目中时,它工作得很好,但是我在将其分解为自己的npm包时遇到了问题。

0 个答案:

没有答案