【发布时间】:2020-06-29 23:17:50
【问题描述】:
我有一个私有的 JavaScript 模块,我希望为其编写类型声明。结构如下:
.
├── index.d.ts
├── index.js
├── lib
│ ├── submodule.d.ts
│ └── submodule.js
└── package.json
在lib/submodule.d.ts:
declare module 'mymodule/lib/submodule' {
class Submodule {
// details omitted
}
export = Submodule;
}
在index.d.ts 中,我需要从lib/submodule 重新导出Submodule 类。此外,我需要记录在顶层声明的快捷方式构造函数。这是我的尝试:
declare module 'mylib' {
// export a `createSubmodule` function that is just a shortcut for new Submodule()
import * as Submodule from 'mymodule/lib/submodule';
function createSubmodule(): Submodule;
// Also re-export Submodule
export * as Submodule from 'mymodule/lib/submodule';
}
似乎在index.d.ts 中找不到submodule.d.ts 的声明。导入和导出收到的消息是:Could not find a declaration file for module 'mymodule/lib/submodule'
重新导出此类符号的正确方法是什么?
【问题讨论】:
标签: typescript