Flutter清理工具插件solid_cleanx的使用

Flutter 清理工具插件 solid_cleanx 的使用

欢迎使用 Solid CleanX
Solid CleanX 是一个开发者友好的命令行界面 (CLI) 工具,旨在帮助你简化 Flutter 应用程序的项目设置过程。它推广使用 Clean Architecture 原则,确保从一开始就具有可维护性、可扩展性和可测试性的代码。

✨ 主要功能

🏗️ 项目初始化 (init 命令)

轻松启动你的 Flutter 项目,并具有结构良好的目录布局和样板代码:

  • 自动生成遵循 Clean Architecture 原则的关键目录:
    • CoreFeaturesThemeRoutes 等。
  • 创建高效的项目设置所需的样板文件:
    • 网络服务类,如 DioNetworkService 用于无缝 API 交互。
    • 存储服务类,如 SecureStorageService 用于安全数据处理。
    • 实用类,如 LoggerService 用于更好的调试和日志记录。
    • 基类,用于控制器、响应处理程序和错误处理。
    • 初始配置文件(例如,端点、环境变量)。
    • 使用 GetX 库进行依赖注入的 App Binding
  • 自动添加和获取 pubspec.yaml 文件中的所需依赖项。

⚡ 功能添加 (feature 命令)

通过单个命令快速为项目添加新功能:

  • features 目录内生成专用的目录结构。
  • 为特定功能定制的样板代码:
    • 模型类 用于数据结构。
    • 仓库类(远程和接口)用于处理数据获取。
    • 控制器类 用于业务逻辑和数据交互。
    • 页面类 用于构建 UI,由 GetX 提供状态管理。
    • 小部件类 用于可重用的 UI 组件。
    • 使用 GetX 进行依赖注入的 绑定类
  • 自动更新你的 routes/app_pages.dart 文件以包含新功能路由。

🌟 优点

  • Clean Architecture:促进易于理解和维护的组织良好的代码结构。
  • 高效项目设置:通过自动化设置过程节省时间。
  • 依赖注入:利用 GetX 进行简化的状态管理和类交互。
  • 网络请求:使用 Dio 高效处理网络请求。
  • 安全存储:使用 SecureStorage 保护敏感数据,如访问令牌。
  • 代码可重用性:基类鼓励可重用性并减少冗余。
  • 结构化的响应处理:使用 BaseResponseHandler 简化 API 响应处理。

🛠️ 入门指南

  • 安装:

    flutter pub global activate
    
  • 初始化一个新的 Flutter 项目:

    cleanx init <project_name>
    
  • 添加新功能:

    cleanx feature <feature_name>
    

📂 Solid CleanX 项目结构

lib
├── core
│   ├── apis
│   │   └── endpoints.dart
│   ├── error
│   │   └── exceptions.dart
│   ├── network
│   │   ├── network_service.dart
│   │   ├── dio_network_service.dart
│   │   ├── request_interceptor.dart
│   │   └── response_interceptor.dart
│   ├── storage
│   │   ├── base_storage.dart
│   │   └── secure_storage_service.dart
│   ├── utils
│   │   ├── logger_service.dart
│   │   ├── extensions.dart
│   │   └── string_constants.dart
│   │   └── color_constants.dart
│   │   └── asset_constants.dart
│   ├── config.dart
│   └── controllers
│       └── base_controller.dart
│   └── widgets
│       └── base_network_widget.dart
├── features
│   ├── <feature_name>
│   │   ├── data
│   │   │   ├── models
│   │   │   │   └── <feature_name>_model.dart
│   │   │   ├── repositories
│   │   │   │   └── <feature_name>_repository_impl.dart
│   │   │   └── datasource
│   │   │       └── <feature_name>_remote_data_source.dart
│   │   ├── domain
│   │   │   └── repositories
│   │   │       └── <feature_name>_repository.dart
│   │   └── presentation
│   │       ├── controllers
│   │       │   └── <feature_name>_controller.dart
│   │       ├── pages
│   │       │   └── <feature_name>_page.dart
│   │       └── widgets
│   │           └── <feature_name>_widget.dart
├── theme
│   └── app_theme.dart
├── routes
│   └── app_pages.dart
├── bindings
│   ├── initial_binding.dart
│   └── <feature_name>_binding.dart
└── main.dart

更多关于Flutter清理工具插件solid_cleanx的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter清理工具插件solid_cleanx的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


solid_cleanx 是一个用于 Flutter 项目的清理工具插件,它可以帮助开发者自动清理项目中未使用的资源文件、代码等。以下是如何使用 solid_cleanx 插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 solid_cleanx 插件的依赖:

dev_dependencies:
  solid_cleanx: ^0.0.1

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

2. 运行清理命令

在终端中,你可以使用以下命令来运行 solid_cleanx

flutter pub run solid_cleanx

3. 配置选项

solid_cleanx 提供了一些配置选项,你可以通过在项目根目录下创建一个 solid_cleanx.yaml 文件来进行配置。以下是一些常见的配置选项:

# solid_cleanx.yaml

# 是否清理未使用的图片资源
clean_unused_images: true

# 是否清理未使用的字体资源
clean_unused_fonts: true

# 是否清理未使用的代码文件
clean_unused_code: true

# 是否清理未使用的依赖
clean_unused_dependencies: true

# 是否在清理前进行备份
backup_before_clean: true

# 是否在清理后生成报告
generate_report: true

4. 查看报告

如果启用了 generate_report 选项,solid_cleanx 会在清理完成后生成一个报告文件,通常位于 build/solid_cleanx_report.txt。你可以查看这个报告文件来了解哪些资源或代码被清理了。

5. 高级用法

你还可以通过命令行参数来覆盖 solid_cleanx.yaml 中的配置选项。例如:

flutter pub run solid_cleanx --clean-unused-images=false

这将禁用图片资源的清理,即使 solid_cleanx.yaml 中启用了该选项。

6. 注意事项

  • 备份:在运行清理工具之前,建议先备份你的项目,以防误删重要文件。
  • 代码清理:代码清理功能可能会误删一些动态加载的代码,因此在使用时需要仔细检查。

7. 示例

以下是一个完整的 solid_cleanx.yaml 配置示例:

clean_unused_images: true
clean_unused_fonts: true
clean_unused_code: true
clean_unused_dependencies: true
backup_before_clean: true
generate_report: true
回到顶部