发布于 2026-01-06 2 阅读
0

如何在 TypeScript(或 JavaScript)中添加桶形控件

如何在 TypeScript(或 JavaScript)中添加桶形控件

你好!

本文简要介绍如何在 TypeScript 中创建有效的导入/导出策略。虽然这并非 TypeScript 独有的功能,但本文将以 TypeScript 环境为例进行说明。

The goal of this is to make the code more readable and maintainable once it gets it bigger and bigger.

桶是一种将所有相同类型或相同用途的文件放在同一位置的方法,然后使用一个唯一的文件同时导入和导出它们。

例子

情况是这样的。我们的项目文件夹中有 3 个接口,项目根目录下有interfaces一个文件导入了这些接口。index.ts

index.ts
interfaces/
  bear.interface.ts
  pig.interface.ts
  man.interface.ts
Enter fullscreen mode Exit fullscreen mode
// index.ts
import { Bear } from './interfaces/bear.interface';
import { Pig } from './interfaces/pig.interface';
import { Man } from './interfaces/man.interface';
Enter fullscreen mode Exit fullscreen mode

这三个文件唯一的共同点就是它们都包含接口。

如您所见,我们有 3 条导入语句。这是一种常见且正常的做法。

使用木桶。

这就是引入桶状结构时的场景。我们可以对结构稍作修改,就能以更易读的方式进行导入。您必须遵循以下三个步骤。

  1. 添加一个桶形锉刀。

在 interfaces 文件夹中添加索引。

index.ts
interfaces/
  bear.interface
  pig.interface
  man.interface
  index.ts   <--- Barrel file
Enter fullscreen mode Exit fullscreen mode
  1. 导入所有接口,然后将它们导出到同一个文件中。
// ./interfaces/index.ts
export * from './bear.interface';
export * from './man.interface';
export * from './pig.interface';
Enter fullscreen mode Exit fullscreen mode
  1. 更新imports项目索引文件根目录中的语句。
// **BEFORE** 
// index.ts
import { Bear } from './interfaces/bear.interface';
import { Pig } from './interfaces/pig.interface';
import { Man } from './interfaces/man.interface';

// **NOW** 
// index.ts
import { Bear, Pig, Man } from './interfaces';
Enter fullscreen mode Exit fullscreen mode

包起来

这种桶式方法虽然不能解决一个大问题,但可以避免代码库变大时代码可读性下降的问题。

你也可以在JS和TS上建立桶。

今天就到这里。

祝您编程愉快!

文章来源:https://dev.to/luispa/how-to-create-barrels-in-typescript-or-javascript-59ma