Flutter快速启动模板插件flutter_starter_cli的使用
Flutter快速启动模板插件flutter_starter_cli的使用
Flutter Starter CLI
是一个非常有用的工具,它提供了一系列命令来简化从零开始创建 Flutter 项目的流程。
简介
Flutter Starter CLI
是用 Dart 编程语言编写的。在处理 Flutter 项目时,我们常常需要多次编写相同的重复代码。但使用此 CLI,我们可以动态地生成一个 Flutter 模板。此外,所有 Flutter 测试的基本结构都是相同的,因此该 CLI 还提供了基本的 Flutter 测试启动包。
Flutter Starter CLI
默认包含以下内容:
-
状态管理
- BLoC - BLoC 是一种流行的用于将逻辑与用户界面分离的设计/架构模式。
- RiverPod - 一种状态管理库,可以在编译时捕捉编程错误并确保代码可测试。
-
API服务
- Dio - 一个功能强大的 Dart HTTP 客户端,支持拦截器、全局配置、表单数据、请求取消、文件下载、超时等功能。
- Http - 一个基于 Future 的库,用于进行 HTTP 请求。
- Graphql - 一个独立的 GraphQL 客户端,为 Flutter 带来了现代 GraphQL 客户端的所有功能。
-
基本设置
- 主题 - 主题用于在整个应用中共享颜色和字体样式。
- 国际化 - 该项目支持多种语言,如英语、西班牙语和法语。
- 路由 - 使用 Go_Router 提供方便的基于 URL 的导航 API。
-
测试
- 单元测试 - 测试单一函数、方法或类。
- 小部件测试 - 测试单一小部件。
- 集成测试 - 测试整个应用或应用的大部分。
依赖项
目前,Flutter Starter CLI
依赖于以下包:
包名 | 版本 | 描述 |
---|---|---|
args | 2.3.1 | 解析原始命令行参数到一组选项和值。 |
mason_logger | 0.2.2 | 用于 CLI 请求的简单日志库。 |
path | 1.8.2 | 用于路径操作的包,包括连接、分割、规范化等。 |
pub_updater | 0.2.2 | 一个允许检查包是否为最新版本并支持更新的 Dart 包。 |
flutter_lints | 2.0.1 | 包含推荐的一组 Flutter 应用程序、包和插件的 lint 规则,以鼓励良好的编码实践。 |
入门指南
全局激活:
dart pub global activate flutter_starter_cli
使用指南
在你的应用根目录下运行以下命令:
显示 CLI 版本:
flutter_starter_cli --version
显示帮助信息:
flutter_starter_cli --help
创建项目:
flutter_starter_cli create
然后按照提示操作。
快捷方式创建项目:
flutter_starter_cli create <project_name> --state=<state_management> --api=<api_service> -g -t
可用的 API 服务:dio
, http
, graphql
可用的状态管理:bloc
, riverpod
升级项目:
flutter_starter_cli project upgrade
完整使用说明
create
命令的完整用法及选项和标志:
➜ ~ flutter_starter_cli create
创建一个新的 Flutter 启动项目。
用法: flutter_starter_cli create <project_name>
-h, --help 打印此使用信息。
--desc 项目的描述。
(默认为 "A New Flutter Project.")
-p, --path 项目的目录路径。
-s, --state 项目的状态管理。
[bloc, riverpod]
-a, --api 项目的 API 服务。
[dio, http, graphql]
-t, --[no-]test 设置测试用例。
-g, --[no-]git 初始化 Git 存储库。
运行 "flutter_starter_cli help" 查看全局选项。
目录结构
新创建的项目目录结构如下所示:
.
├── android
├── assets
├── integration_test
├── ios
└── lib
├── api_sdk
├── config
├── l10n
├── routes
├── screens
├── shared
├── themes
├── utils
├── widgets
├── app.dart
├── common_export.dart
├── main.dart
├── linux
├── macos
├── test
├── web
├── windows
├── .gitignore
├── analysis_options.yaml
├── l10n.yaml
├── pubspec.lock
├── pubspec.yaml
└── README.md
示例代码
以下是一个简单的示例,展示了如何激活 CLI 并查看其用法:
示例
# 激活 CLI
dart pub global activate flutter_starter_cli
# 查看用法
flutter_starter_cli --help
更多关于Flutter快速启动模板插件flutter_starter_cli的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter快速启动模板插件flutter_starter_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,flutter_starter_cli
是一个可以帮助你快速生成 Flutter 项目模板的工具。它通常包括一些预设的目录结构、配置文件以及常用依赖,以便你能够更快地开始一个新的 Flutter 项目。
下面是一个简单的示例,展示了如何使用 flutter_starter_cli
来创建一个新的 Flutter 项目。假设 flutter_starter_cli
已经被全局安装在你的开发环境中。
安装 flutter_starter_cli
首先,你需要全局安装 flutter_starter_cli
。如果还没有安装,可以使用以下命令:
dart pub global activate flutter_starter_cli
使用 flutter_starter_cli
创建新项目
一旦安装完成,你可以使用以下命令来创建一个新的 Flutter 项目:
flutter_starter create my_new_project
这里 my_new_project
是你想要创建的新项目的名称。这个命令会生成一个包含预设结构和依赖的 Flutter 项目。
项目结构示例
假设 flutter_starter_cli
生成的项目结构如下:
my_new_project/
├── android/
├── ios/
├── lib/
│ ├── main.dart
│ ├── app/
│ │ ├── app_widget.dart
│ │ ├── routes.dart
│ ├── core/
│ │ ├── constants/
│ │ ├── extensions/
│ │ ├── services/
│ ├── features/
│ ├── home/
│ ├── home_page.dart
│ ├── home_view_model.dart
├── pubspec.yaml
├── README.md
main.dart
示例代码
生成的 main.dart
文件可能看起来像这样:
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'app/app_widget.dart';
void main() {
runApp(
MultiProvider(
providers: [
// Add your providers here
],
child: MyApp(),
),
);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'My New Project',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: AppWidget(),
);
}
}
app_widget.dart
示例代码
生成的 app_widget.dart
文件可能看起来像这样:
import 'package:flutter/material.dart';
import 'routes.dart';
class AppWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('My New Project'),
),
body: Navigator(
initialRoute: '/',
onGenerateRoute: generateRoute,
),
);
}
}
routes.dart
示例代码
生成的 routes.dart
文件可能包含路由配置:
import 'package:flutter/material.dart';
import 'features/home/home_page.dart';
final Map<String, WidgetBuilder> routes = {
'/': (context) => HomePage(),
// Add more routes here
};
Route<dynamic> generateRoute(RouteSettings settings) {
final String? name = settings.name;
final WidgetBuilder? builder = routes[name];
if (builder != null) {
return MaterialPageRoute<dynamic>(
builder: builder,
settings: settings,
);
}
return MaterialPageRoute<dynamic>(
builder: (_) => Scaffold(
body: Center(
child: Text('No route defined for ${settings.name}'),
),
),
);
}
总结
上述代码展示了如何使用 flutter_starter_cli
快速生成一个具有基本结构的 Flutter 项目。当然,实际的 flutter_starter_cli
可能会有更多的功能和预设配置,你可以根据需要进行调整和扩展。
如果你还没有 flutter_starter_cli
,请确保按照官方文档进行安装和配置,以获得最佳的使用体验。