【发布时间】:2019-04-03 05:40:10
【问题描述】:
鉴于以下文件夹结构:
src/
├── foo.ts
├── bar.ts
├── baz.ts
├── index.ts
foo.ts、bar.ts 和 baz.ts 分别导出一个默认类或事物:即在 foo.ts 的情况下:
export default class Foo {
x = 2;
}
我们能否自动生成一个声明文件,该文件声明一个模块 my-module 并将foo.ts、bar.ts 和bar.ts 和baz.ts 导出为非-默认值?
即我希望tsc 生成以下内容:
build/
├── foo.js
├── bar.js
├── baz.js
├── index.js
├── index.d.ts
其中index.d.ts 包含:
declare module 'my-module' {
export class Foo {
...
}
export class Bar {
...
}
export class Baz {
...
}
}
我看到大多数 NPM 模块都有这样的声明文件,并且可能带有单独的文件。
我将如何做到这一点?
【问题讨论】:
-
This TypeScript issue 用于生成“扁平化”声明文件,并包含一些您可以尝试的第三方工具的链接。请问你为什么要这个?为每个
.js文件生成一个.d.ts文件可以很好地找到类型信息,尽管扁平化的.d.ts文件可能更容易让用户理解,并且可能更容易隐藏您不考虑的元素公共 API。
标签: typescript npm type-declaration