Flutter自动化导出插件auto_exporter的使用
Flutter自动化导出插件auto_exporter的使用
简介
Auto Exporter 是一个用于自动导出Dart类和枚举等元素的项目。创建和特别导出可能会比较困难,而Auto Exporter通过添加注解的方式,使插件的自动导出变得简单。
该项目最初是现有插件的一个分支,但代码已经发生了显著的变化,现在已经成为一个完全不同的实体。如果你感兴趣,可以将其与原始项目FlutterAutoExport进行比较,后者似乎没有得到及时更新。
如果遇到任何问题,请提issue并@normidar。你可以用日语、中文或英语撰写。
使用方法
添加依赖
在pubspec.yaml
文件中添加以下内容:
dependencies:
auto_exporter_annotation: ^1.0.1
dev_dependencies:
auto_exporter: ^3.3.0
build_runner: ^2.4.6
build_test: ^2.2.0
配置build.yaml
确保项目根目录下存在build.yaml
文件,并添加如下配置:
targets:
$default:
builders:
auto_exporter:
options:
default_export_all: true # 如果为true,则默认导出所有内容;如果为false,则仅导出特定文件
project_name: <your plugin (package) name>
若要导出子包,在build.yaml
中添加sub_packages
字段,并指定子包名称列表:
targets:
$default:
builders:
auto_exporter:
options:
default_export_all: true # 如果为true,则默认导出所有内容;如果为false,则仅导出特定文件
project_name: <your plugin (package) name>
sub_packages:
- <sub-package A name>
- <sub-package B name>
...
运行build_runner
运行以下命令以执行导出操作:
-
对于Dart SDK:
dart run build_runner build
-
对于Flutter SDK(虽然上面的命令也可能适用):
flutter packages pub run build_runner build
运行完成后,相关文件将被导出。
导出和忽略导出的注解
@AutoExport
注解确保导出(即使default_export_all
为false)。@IgnoreExport
注解忽略导出(即使default_export_all
为true)。
示例代码
以下是main.dart
中的示例代码,展示了如何使用@IgnoreExport()
注解来忽略某个文件的导出:
// 如果想要忽略一个文件的导出,可以使用 @IgnoreExport() 注解
import 'package:auto_exporter/auto_exporter.dart';
@IgnoreExport()
class DoNoExport {}
// 更多详情请参阅 README.md
致谢
本插件的功能得益于以下人员的建议:
- @hasimyerlikaya -> IgnoreExport
- @sm-riyadh -> AutoExport
TODO
欢迎提交PR,优先考虑@normidar的贡献。
- 自动选择显示和隐藏以缩短路径
- 提供一种导出或隐藏文件的方法
更多关于Flutter自动化导出插件auto_exporter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter自动化导出插件auto_exporter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个关于如何在Flutter项目中使用auto_exporter
插件进行自动化导出的代码案例。auto_exporter
是一个用于自动化导出Flutter应用不同平台(如Android和iOS)构建产物的插件。
首先,确保你的Flutter项目已经创建并且已经添加了auto_exporter
依赖。
- 添加依赖
在你的pubspec.yaml
文件中添加auto_exporter
依赖:
dependencies:
flutter:
sdk: flutter
auto_exporter: ^最新版本号 # 请替换为实际最新版本号
然后运行flutter pub get
来获取依赖。
- 配置
auto_exporter
在你的Flutter项目根目录下创建一个名为auto_exporter.yaml
的配置文件。这个文件将包含你希望自动化导出的配置信息。
# auto_exporter.yaml
flutter:
build_name: MyFlutterApp
build_number: 1
android:
enable: true
keystore:
path: path/to/your/keystore.jks
password: your_keystore_password
keyAlias: your_key_alias
keyPassword: your_key_password
outputDir: ./outputs/android
ios:
enable: true
scheme: com.yourcompany.myapp
configuration: Release
outputDir: ./outputs/ios
请根据实际情况替换上述路径和密码。
- 创建导出脚本
在你的项目根目录下创建一个脚本文件,例如export.dart
,并添加以下代码来调用auto_exporter
的功能:
import 'package:auto_exporter/auto_exporter.dart';
void main() async {
try {
// 加载配置文件
var config = await AutoExporterConfig.loadFromYamlFile('auto_exporter.yaml');
// 创建导出器
var exporter = AutoExporter(config: config);
// 执行导出
await exporter.exportAll();
print('导出成功!');
} catch (e) {
print('导出失败: $e');
}
}
- 运行导出脚本
你可以通过运行Dart脚本来触发导出过程。在终端中导航到你的项目根目录,然后运行:
dart run export.dart
这将读取auto_exporter.yaml
配置文件,并根据配置自动化导出Android和iOS的构建产物。
- 检查输出
导出完成后,你可以在配置文件中指定的输出目录(例如./outputs/android
和./outputs/ios
)中找到生成的APK或IPA文件。
注意:在实际使用中,请确保你的keystore路径和密码等信息正确无误,并且你的Flutter环境已经正确配置。另外,auto_exporter
的具体API和配置文件格式可能会随着版本更新而变化,请参考最新的官方文档或插件README文件以获取最新信息。