【发布时间】:2016-10-30 18:31:09
【问题描述】:
我正在编写一个将在 NPM 上发布的 Typescript 包,我想包含一些自定义声明以及由 Typescript 编译器生成的主声明文件。但是,当我将我的包作为依赖项安装到另一个项目中时,Typescript 只能识别生成的声明文件,而不是我也希望包含在我的项目中的额外文件。
例如,假设我的包名为“my-package”:
//In typings/my-interface.d.ts
declare module "my-package/interfaces" {
export interface MyInterface { ... }
}
通过使用import { MyInterface } from "my-package/interfaces" 导入该声明,我可以毫无问题地在整个原始包中使用该声明。问题是当包作为依赖项安装在另一个项目中时,Typescript 找不到"my-package/interfaces"。它只知道"my-package",即使自定义声明包含在包中,即使它们是从编译的声明中引用的。
作为一个真实的示例,假设lodash 是用 Typescript 编写的,并且作者希望包含所有精选函数的声明以及主要的 lodash 声明文件:
declare module "lodash/some" {
export function ...
}
declare module "lodash/forOwn" {
export function ...
}
是否可以在 NPM 包中包含我的自定义声明并让 Typescript 将它们与编译的声明一起提取?
【问题讨论】:
标签: typescript