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

Typescript 在自定义NPM包中找不到类型声明文件,typescript,npm,Typescript,Npm,我编写了一个NPM包,其中包含遗留的仅JS NPM包的类型声明。这都是专有的,所以我不能发布到公共注册中心。我试图将types包引入另一个描述另一个遗留npm包的types包中 每个类型包使用符号声明模块: 声明模块“@company/legacy-package/sub-module” 因此,我有以下项目结构: - @company-a/project-a - node_modules - @company-a/project-b - index.d.ts - p

我编写了一个NPM包,其中包含遗留的仅JS NPM包的类型声明。这都是专有的,所以我不能发布到公共注册中心。我试图将types包引入另一个描述另一个遗留npm包的types包中

每个类型包使用符号声明模块:
声明模块“@company/legacy-package/sub-module”

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

 - @company-a/project-a
    - node_modules
       - @company-a/project-b
 - index.d.ts
 - package-name.d.ts
   - `declare module "@company-b/package-name/module-name"`
project-b
在上述示例中包含以下文件结构:

 - @company-a/project-a
    - node_modules
       - @company-a/project-b
 - index.d.ts
 - package-name.d.ts
   - `declare module "@company-b/package-name/module-name"`
在project-a中,尝试导入上述示例中命名的模块时,会出现“找不到模块”错误:
从“@company-b/包名/模块名”导入{something}

我确保包含project-a的类型根:

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包时遇到了问题。

不要为这些包使用
声明模块
包装器。@AluanHaddad这是我让它与遗留包一起工作的唯一方法。然后,您的方法出现了其他问题。首先,对于一个没有依赖项的简单类型包,让它在没有
声明模块的情况下工作。第二,尝试使用类型包之间的依赖关系。此外,typeroots不应包含包文件夹名称,而应包含它们的父文件夹。我能找到的每个示例都显示了如何使用
声明模块
。我不确定我是否理解替代方案。我不确定你在哪里寻找,但最好的地方是在“不要为这些包使用
declare module
wrappers”。@AluanHaddad这是我让它处理遗留包的唯一方法。然后你的方法出现了其他问题。首先,对于一个没有依赖项的简单类型包,让它在没有
声明模块的情况下工作。第二,尝试使用类型包之间的依赖关系。此外,typeroots不应包含包文件夹名称,而应包含它们的父文件夹。我能找到的每个示例都显示了如何使用
声明模块
。我不确定我是否理解这个选择。我不确定你在找什么,但最好的例子是在