浏览 Flutter 项目可能是一项复杂的任务,尤其是在管理包含大量文件的大型项目时。为了简化这个过程并保持代码一致性,Flutter 引入了Barrel 文件的概念。
这用作从单个位置导出多个文件的存储库,有效地整合代码结构并增强可读性。(将多次导入减少为一次导入)
什么是Barrel文件?
Barrel 文件是单个 Dart 文件,它合并并导出特定目录中的多个文件或组件。它充当集中入口点,允许开发人员使用单个导入语句导入多个相关文件。Barrel文件的目的是简化导入过程、增强代码组织并提高整体项目的可维护性。
主要特征和用途:
1、集中出口:
Barrel文件通常存在包含相关文件或组件的目录中。 export
它从该目录导出(通过关键字)所有相关文件。
2、简化的导入:
无需单独导入每个文件,而是可以导入 Barrel 文件,以通过单个导入语句访问所有导出的组件。
3、代码组织:
Barrel文件通过对相关文件进行分组,有助于形成更清晰、更有组织的项目结构。它们作为目录内容的高级概述,更容易理解项目的结构。
4、减少冗余:
通过将导出合并到Barrel文件中,开发人员可以避免代码库不同部分的导入语句出现冗余。
5、提高可维护性:
文件结构的更改或添加新组件变得更易于管理,因为只需更新 Barrel 文件中的导出。
如何使用Barrel文件?
1、手工导入
1.1、 创建一个与文件夹名称同名的 dart 文件,这里我们的文件夹名称为screens ,所以我们的桶文件将是screens.dart

1.2、添加以export为前缀的文件夹中的所有文件。
arduino
export 'airplane.dart';
export 'bus.dart';
export 'ship.dart';
export 'train.dart';
1.3、 通过import screen.dart文件替换四个单独的import
arduino
import 'package:my_test/screens/screens.dart';
2、使用vscode 插件 Dart Barrel File Generator
Dart Barrel 文件生成器可以通过 在 VSCode 中搜索扩展 或从市场中搜索。
它只能在选定的文件夹中创建两个Barrel文件
它为所选文件夹以及所选文件夹中的所有嵌套文件夹创建一个Barrel文件。同样,它还将嵌套文件夹Barrel文件添加到其父Barrel文件中。 扩展可以创建一个包含嵌套文件夹(每个子文件夹)的所有名称的Barrel文件,而无需创建其他Barrel文件。