在另一个包上使用类型声明

Gnx*_*nxR 3 typescript definitelytyped

我已经设置了一个私有 NPM 注册表,托管一个公开可用的包的分支(这是包的许可证允许的)。

源包中有一个由精彩的DefinitelyTyped项目提供的类型声明。

目前,在我的项目中,如果我写:

import mypackage from '@private/mypackage'
Run Code Online (Sandbox Code Playgroud)

DefinelyTyped ( ) 提供的类型@types/mypackage将不适用,我会得到错误:

错误 TS7016:找不到模块“@private/mypackage”的声明文件。“node_modules/@private/mypackage/index.js”隐式具有“any”类型。

在我的项目中,是否可以重新声明 fork 的源包类型,以便上面的示例能够工作?

H.B*_*.B. 5

.d.ts您可以为模块添加声明文件 ( ):

declare module '@private/mypackage'
{
    import m from 'mypackage';

    export default m;
}
Run Code Online (Sandbox Code Playgroud)