Typescript 如何使用.d.ts文件键入自己的节点模块
我正在使用webpack和awesome typescript loader捆绑我的节点模块。我正在将捆绑模块导入另一个包中。在另一个包中,我得到了错误: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是在其文件中键入的,但是
找不到模块“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”属性之后,它现在似乎可以工作了。