下記のようなディレクトリ構成のプロジェクトがあるとする。
│ main.ts
│
├─repository
│ index.ts
│ PostRepository.ts
│ UserRepository.ts
│
└─service
index.ts
LoggerService.ts
PostService.ts
UserService.ts
各フォルダにindex.ts
を配置してそのフォルダ配下のmoduleをexportする。
たとえばservice/index.ts
は
service/index.ts
export { LoggerService } from "./LoggerService";
export { PostService } from "./PostService";
export { UserService } from "./UserService";
と記述しておく。
そうするとディレクトリトップにあるmain.ts
はフォルダ名のみでimportできる。
main.ts
import { LoggerService, UserService } from './service';
const logger = new LoggerService();
const userService = new UserService();
const newUser = new User("stin_factory", 25);
userService.register(newUser);
logger.log(`${newUser.name}を新規登録しました。`);
記述が簡素化されて読みやすくなる。