我正在寫一個將在NPM上發佈的Typescript包,並且我想包括一些自定義聲明以及由Typescript編譯器生成的主聲明文件。但是,當我將包作爲依賴項安裝到另一個項目中時,Typescript只識別生成的聲明文件,而不是我想要包含在項目中的額外聲明文件。當我將包發佈到NPM時,如何包含額外的Typescript聲明?
例如,假設我的包被稱爲「我的包」:
//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寫在打字稿和筆者希望包括申報所有的櫻桃採摘功能,主要lodash聲明文件一起:
declare module "lodash/some" {
export function ...
}
declare module "lodash/forOwn" {
export function ...
}
是有可能將我的自定義聲明包含在NPM包中,並使Typescript將它們與編譯聲明一起提取?