如何使用TypeScript访问不同文件中的多个类,如数组?
文件夹结构:
├── index.ts
└── models
├── index.ts
├── image.entity.ts
└── user.entity.ts
image.entity.ts:
export class Image { }
user.entity.ts:
export class User { }
模型/ index.ts:
export * from './image.entity';
export * from './user.entity';
index.ts(期望的输出):
import * as models from './models/index';
// Is an iterable array, instead of a "module"
console.log(models.length) // 2
答案 0 :(得分:5)
如果你拥有它,你可以使用models
,Object.keys
或Object.values
之一来迭代Object.entries
。请注意,您需要将es2017
添加到--lib
,以便后两个工作。
如果你真的希望models
成为一个数组,你可以这样做:
image.entity.ts
export default class Image { }
user.entity.ts
export default class User { }
index.ts
import Image from './image.entity';
import User from './user.entity';
export default [
Image,
User,
]
然后像这样导入:
import models from './models';
console.log(models.length) // 2
请注意,您不需要使用deault导入/导出,但它们可以为您节省一些* as x
。