tsc 在生成.d.ts 类型文件的时候,能否指定全放进一个文件里面或者去掉 folder structure

2021-09-17 07:48:28 +08:00
 yazoox

tsconfig.json 里面,好像只能指定 outDir folder,e.g. {"outDir": "dist"}

这样,生成的.d.ts 会放在./dist 目录下面,目录结构,和原文件所在的目录结构是一样的。但是,现在我想把所有的 type declaration 都放在一个文件里,比如:custom.d.ts 或者 index.d.ts 。

如果不行,能否不要目录结构,即所有的.d.ts 都放在./dist 目录下面,平铺展开。当然,这样会有另外问题,可能会出现很多 index.d.ts ,需要 tsc 支持指定命令规则。

所以,不知道 tsc 有没有相关配置选项?能够支持这样做?还是说,就是做不到。除非我们自己写插件,等等。

谢谢!

2058 次点击
所在节点    TypeScript
8 条回复
noe132
2021-09-17 07:54:34 +08:00
xxx.d.ts 对应 xxx.js
你全放一个目录下那对应哪个文件呢?
Origami404
2021-09-17 08:19:46 +08:00
生成完 find+mv 一个不可以吗
JK9993
2021-09-17 09:05:28 +08:00
declarationDir
Leviathann
2021-09-17 09:07:16 +08:00
rollup 有个插件 rollup-plugin-dts 就是把指定文件夹下的.d.ts 文件打包到一个 index.d.ts 里
yazoox
2021-09-17 09:58:17 +08:00
@noe132 不需要一一对应吧,尤其是目录结构还一一对齐。

@Leviathann 晕。忘记说了,我们用的是 webpack,我去找找,看看有没有对应的插件。
houzhenhong
2021-09-17 12:40:37 +08:00
Trim21
2021-09-17 12:46:46 +08:00
不对应的话别人导入的时候怎么把.d.ts 和 js 对应起来呢…
yazoox
2021-09-22 10:55:19 +08:00
@Trim21 不需要吧,只是类型信息而已。
只要索引后,能够找到该类型就行(用于 eslint 和 build ),至于放在哪个文件里面,不重要吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/802438

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX