Flutter命令行工具插件flutter_cli_tool的使用

发布于 1周前 作者 gougou168 来自 Flutter

Flutter命令行工具插件flutter_cli_tool的使用

简介

flutter_cli_tool 是一个命令行工具,旨在帮助开发者快速生成基于 BlocGoRouter 的 Flutter 项目功能模块和模型。通过该工具,您可以轻松初始化项目结构,并生成具有 Bloc、页面、小部件和模型的功能模块。


特性

  • 初始化项目结构,包含 coreconfig 目录。
  • 快速生成新的功能模块(Feature),包括 Bloc、页面、小部件和模型。
  • 根据 JSON 数据或文件生成 Dart 模型。
  • 自动将路由添加到 routes.dart 文件中。
  • 支持 PascalCase 和 snake_case 转换以适配功能名称。

安装

要安装 flutter_cli_tool,请运行以下命令:

dart pub global activate flutter_cli_tool

使用方法

1. 初始化项目

此命令会初始化项目结构,包含 coreconfig 目录,并创建一个 main.dart 文件。

flutter_cli_tool --init

示例效果:

初始化后,项目的目录结构如下:

lib/
|__ config/routes.dart
|__ core/
└── features/
    └── home/
        ├── bloc/
        ├── pages/
        ├── widgets/
        └── models/
main.dart

2. 创建功能模块

要生成一个新的功能模块,可以使用 --feature-f 参数。功能名称会自动转换为 PascalCase 用于内部使用,snake_case 用于文件夹命名。

flutter_cli_tool --feature "hello world"

示例效果:

生成的功能模块结构如下:

lib/
└── features/
    └── hello_world/
        ├── bloc/
        ├── pages/
        ├── widgets/
        └── models/

3. 从 JSON 创建模型

可以通过提供 JSON 数据或 JSON 文件路径来生成模型。使用 --model-m 参数指定模型名称,使用 --json-j 参数指定 JSON 数据或文件路径。

示例 1: 从 JSON 数据生成 User 模型

flutter_cli_tool_tool --model User --json '{"id": 1, "name": "John Doe", "email": "john@example.com"}'

示例 2: 从 JSON 文件生成 Profile 模型并放置在特定功能模块中

flutter_cli_tool_tool --model Profile --json ./path/to/user.json --featureModel profile

4. 帮助文档

如需查看所有可用命令和选项,可运行以下命令:

flutter_cli_tool_tool --help

生成代码示例

main.dart 示例

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
import 'routes.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MultiBlocProvider(
      providers: [
        BlocProvider<HomeBloc>(
          create: (context) => HomeBloc(),
        ),
        // 其他 Bloc 提供者将动态插入此处
      ],
      child: MaterialApp.router(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        routerDelegate: createRouter().routerDelegate,
        routeInformationParser: createRouter().routeInformationParser,
      ),
    );
  }
}

模型示例

class User {
  final int id;
  final String name;
  final String email;

  User({required this.id, required this.name, required this.email});

  User copyWith({int? id, String? name, String? email}) {
    return User(
      id: id ?? this.id,
      name: name ?? this.name,
      email: email ?? this.email,
    );
  }

  factory User.fromJson(Map<String, dynamic> json) {
    return User(
      id: json['id'],
      name: json['name'],
      email: json['email'],
    );
  }

  Map<String, dynamic> toJson() {
    return {
      'id': id,
      'name': name,
      'email': email,
    };
  }

  [@override](/user/override)
  String toString() {
    return 'User(id: $id, name: $name, email: $email)';
  }

  [@override](/user/override)
  bool operator ==(Object other) {
    if (identical(this, other)) return true;
    return other is User && other.id == id && other.name == name && other.email == email;
  }

  [@override](/user/override)
  int get hashCode => id.hashCode ^ name.hashCode ^ email.hashCode;
}

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

1 回复

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


flutter_cli_tool 是一个用于增强 Flutter 命令行工具功能的插件,可以帮助开发者更高效地管理 Flutter 项目。以下是一些常见的使用方法和命令:

1. 安装 flutter_cli_tool

首先,你需要通过 Dart 的包管理工具 pub 来安装 flutter_cli_tool

dart pub global activate flutter_cli_tool

2. 常用命令

2.1 创建新项目

使用 flutter_cli_tool 可以快速创建一个新的 Flutter 项目。

flutter_cli_tool create <project_name>

2.2 添加依赖

你可以使用 flutter_cli_tool 来添加依赖项到 pubspec.yaml 文件中。

flutter_cli_tool add <package_name>

2.3 运行项目

flutter_cli_tool 提供了一个简化的命令来运行你的 Flutter 项目。

flutter_cli_tool run

2.4 构建项目

你可以使用 flutter_cli_tool 来构建你的 Flutter 项目,支持多种构建模式。

flutter_cli_tool build <mode>

其中 <mode> 可以是 apk, appbundle, ios, web 等。

2.5 清理项目

清理项目中的构建缓存和临时文件。

flutter_cli_tool clean

2.6 更新依赖

更新项目中的所有依赖项。

flutter_cli_tool update

2.7 生成代码

使用 flutter_cli_tool 生成代码,例如生成 freezedjson_serializable 的代码。

flutter_cli_tool generate

3. 其他功能

3.1 查看帮助

查看 flutter_cli_tool 的所有命令和选项。

flutter_cli_tool --help

3.2 查看版本

查看 flutter_cli_tool 的当前版本。

flutter_cli_tool --version

4. 配置

你可以通过编辑 flutter_cli_tool 的配置文件来定制化你的开发环境。配置文件通常位于项目的根目录下,文件名为 flutter_cli_tool.yaml

5. 卸载 flutter_cli_tool

如果你不再需要 flutter_cli_tool,可以通过以下命令卸载它。

dart pub global deactivate flutter_cli_tool
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!