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

致谢

本插件的功能得益于以下人员的建议:

TODO

欢迎提交PR,优先考虑@normidar的贡献。

  • 自动选择显示和隐藏以缩短路径
  • 提供一种导出或隐藏文件的方法

更多关于Flutter自动化导出插件auto_exporter的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter自动化导出插件auto_exporter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何在Flutter项目中使用auto_exporter插件进行自动化导出的代码案例。auto_exporter是一个用于自动化导出Flutter应用不同平台(如Android和iOS)构建产物的插件。

首先,确保你的Flutter项目已经创建并且已经添加了auto_exporter依赖。

  1. 添加依赖

在你的pubspec.yaml文件中添加auto_exporter依赖:

dependencies:
  flutter:
    sdk: flutter
  auto_exporter: ^最新版本号 # 请替换为实际最新版本号

然后运行flutter pub get来获取依赖。

  1. 配置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

请根据实际情况替换上述路径和密码。

  1. 创建导出脚本

在你的项目根目录下创建一个脚本文件,例如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');
  }
}
  1. 运行导出脚本

你可以通过运行Dart脚本来触发导出过程。在终端中导航到你的项目根目录,然后运行:

dart run export.dart

这将读取auto_exporter.yaml配置文件,并根据配置自动化导出Android和iOS的构建产物。

  1. 检查输出

导出完成后,你可以在配置文件中指定的输出目录(例如./outputs/android./outputs/ios)中找到生成的APK或IPA文件。

注意:在实际使用中,请确保你的keystore路径和密码等信息正确无误,并且你的Flutter环境已经正确配置。另外,auto_exporter的具体API和配置文件格式可能会随着版本更新而变化,请参考最新的官方文档或插件README文件以获取最新信息。

回到顶部