Typescript 如何使用.d.ts文件键入自己的节点模块

Typescript 如何使用.d.ts文件键入自己的节点模块,typescript,webpack,Typescript,Webpack,我正在使用webpack和awesome typescript loader捆绑我的节点模块。我正在将捆绑模块导入另一个包中。在另一个包中,我得到了错误: 找不到模块“mymodule”的声明文件。 包的默认导出是已初始化的类: import MyClass from './myClass'; const c = new MyClass(); export default c; 我从我的软件包中导入: import c from 'mymodule'; MyClass是在其文件中键入的,但是

我正在使用webpack和awesome typescript loader捆绑我的节点模块。我正在将捆绑模块导入另一个包中。在另一个包中,我得到了错误:

找不到模块“mymodule”的声明文件。

包的默认导出是已初始化的类:

import MyClass from './myClass';
const c = new MyClass();
export default c;
我从我的软件包中导入:

import c from 'mymodule';

MyClass是在其文件中键入的,但是如何从模块中导出.d.ts文件,以便我的其他包知道MyClass类型?

您可以在lib文件夹中添加
类型.d.ts
文件,并将
类型:“./types.d.ts”
属性添加到其
包.json

这将允许TS访问库正在导出的所有类型

但是,您需要手工编写这些类型

更好的解决方案是让TS为您生成那些
d.TS
文件。
您可以通过在
tsconfig.json
文件中启用
declaration:true
来实现这一点。

非常感谢。我试过了,但没用。我意识到我让webpack输出了一个名为bundle.js的文件,而主导出是在main.d.ts中键入的。在我将bundle重命名为main并更新了package.json文件中的“main”属性之后,它现在似乎可以工作了。