假设我有这个目录结构:
src
├──Utils
| ├──File2.ts
| ├──File3.ts
index.ts
tsconfig.json
我知道您可以在tsconfig.json内部设置路径别名,例如:
{
"compilerOptions": {
.....
"paths": {
"Utils/*": ["src/Utils/*"],
}
}
}
,然后我可以在我的索引中使用这些别名:
import { File2 } from 'Utils/File2';
import { File3 } from 'Utils/File3';
我确定您会注意到冗余:即使File2
和File3
在同一文件夹中,我们必须为Utils
文件夹中的每个文件编写import
。
是否有可能在一个导入下将这些文件分组并像以下示例一样使用?
?import { File2, File3 } from 'Utils';
我尝试了这种配置,但它不起作用:
{
"compilerOptions": {
"paths": {
"Utils": ["src/Utils/*"],
}
}
}
编辑
另外,我不想使用像index.ts
这样的桶文件,我从Utils
文件夹中导出所有内容。
可以通过使用桶文件解决。在/Utils
中创建index.ts
文件,然后添加
export * from './File2';
export * from './File2';
和您的tsconfig
{
"compilerOptions": {
"paths": {
"Utils": ["src/Utils"]
}
}
}
不可能在不使用枪管文件的情况下将这些导入分组。但是,如果您不希望像Barrelsby那样手动维护它们的麻烦,则有些库可以为您生成这些文件。另外,您可以编写自己的脚本以保持其最新。