如果项目的大多数目录包含不超过2-3个TypeScript文件,并且在其他位置导入包含目录时应该可以访问其所有导出,则这将导致很多index.ts
文件具有可预测的内容。
目录: my-component
my-component-config.ts
my-component.ts
index.ts
是什么index.ts
内容?当然,它包含
export * from "./my-component-config"
export * from "./my-component"
这是显而易见的。
对于10个组件目录,这意味着:10个index.ts
包含100%冗余信息的文件。
如何使TypeScript(/ Node)隐式动态创建index.ts
不需要存储在硬盘上的文件?
在TypeScript和node.js中,组件不是一个定义明确的概念,而模块和包则是。
通常,模块是一个源文件,让我们忽略异常。因此,通过为index.ts
每个目录创建文件,您将生成外观模块,每个模块仅聚合几个文件/模块。如果您要做的只是将源文件组织成逻辑组件,则不需要按目录的外观,只需简单地分别导入每个文件即可,而不是一次导入一个目录。
在较高的级别上,如果您的程序包包含许多不同的目录,则它在程序包级别可以具有单个 index.ts
外观。该文件将只导出一次每个文件/模块,而不需要index.ts
每个目录。因此,这看起来像(假设每个文件都是.ts文件):
export * from './IntStream';
export * from './misc/Interval';
export * from './misc/IntervalSet';
export * from './Lexer';
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句