npm 在TypeScript中使用单个模块生成声明文件

j8ag8udp  于 2023-11-19  发布在  TypeScript
关注(0)|答案(2)|浏览(148)

给定以下文件夹结构:

src/
├── foo.ts
├── bar.ts
├── baz.ts
├── index.ts

字符串
其中foo.tsbar.tsbaz.ts每个都导出一个默认类或事物:即在foo.ts的情况下:

export default class Foo {
    x = 2;
}


是否可以自动生成声明文件,声明一个模块my-module,导出foo.tsbar.tsbaz.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模块都有一个这样的声明文件,也许还有单独的文件。
我该怎么做?

k2arahey

k2arahey1#

在你的tslog.json文件中,将“declaration”设置为true。然后当你在你的项目上运行typescript时,它会自动为你生成声明文件。

mqxuamgl

mqxuamgl2#

tsup

它可以做到这一点,并且非常快(1.5s):

tsup ./executors/index.ts --dts-only

字符串
您需要导入./executors/index.ts中的类型并从该文件导出它们。

dts-bundle-generator

对我来说比较慢(8.5秒):

dts-bundle-generator --out-file dist/testkube-executors.d.ts ./executors/executors.ts

相关问题