在TypeScript中将*导入为iterable数组

在TypeScript中将*导入为iterable数组,typescript,Typescript,如何使用TypeScript访问不同文件(如数组)中的多个类? 文件夹结构: ├── index.ts └── models ├── index.ts ├── image.entity.ts └── user.entity.ts image.entity.ts: export class Image { } export class User { } user.entity.ts: export class Image { } export class User

如何使用TypeScript访问不同文件(如数组)中的多个类?

文件夹结构:

├── index.ts
└── models
    ├── index.ts
    ├── image.entity.ts
    └── user.entity.ts
image.entity.ts:

export class Image { }
export class User { }
user.entity.ts:

export class Image { }
export class User { }
型号/索引.ts:

export * from './image.entity';
export * from './user.entity';
index.ts(期望输出):


现在,只需使用
Object.key
Object.values
Object.entries
中的一个,就可以迭代
模型。请注意,您需要将
es2017
添加到
--lib
,后两者才能工作

如果您确实希望
模型
成为一个阵列,您可以这样做:

import models from './models';

console.log(models.length) // 2
image.entity.ts

export default class Image { }
export default class User { }
user.entity.ts

export default class Image { }
export default class User { }
索引

import Image from './image.entity';
import User from './user.entity';

export default [
  Image,
  User,
]
然后像这样导入它:

import models from './models';

console.log(models.length) // 2

请注意,您不需要使用deault导入/导出,但它们会为您节省一些
*作为x

您可以更具体地说明您的期望,即您希望
模型
看起来像什么?@Tao
模型
应该是类型脚本类型:
(图像类型|用户类型)[
。也许我应该扩展;我目前使用的框架TypeORM需要一个实体数组作为它的ORM。TypeORM的连接对象看起来像:{host:'0.0.0',…,entities:[Image,User]}。因为我不想手动扩展
entitites
-数组,所以每次添加新模型时,我都想使用TypeScript
import
功能,如果可能的话,或者任何其他方式。对不起,我没有阅读“所需输出”部分,有点困惑。