Injectable 项目教程
injectableCode Generator for get_it项目地址:https://gitcode.com/gh_mirrors/inj/injectable
1. 项目的目录结构及介绍
Injectable 项目的目录结构如下:
injectable/
├── lib/
│ ├── injectable.dart
│ ├── src/
│ │ ├── annotations.dart
│ │ ├── generator.dart
│ │ ├── utils.dart
│ │ └── ...
│ └── ...
├── test/
│ ├── injectable_test.dart
│ └── ...
├── example/
│ ├── lib/
│ │ ├── main.dart
│ │ └── ...
│ └── ...
├── pubspec.yaml
└── README.md
目录介绍
- lib/: 包含 Injectable 库的核心代码。
- injectable.dart: 库的入口文件。
- src/: 包含库的源代码,如注解、生成器和工具类等。
- test/: 包含库的测试代码。
- example/: 包含使用 Injectable 库的示例项目。
- pubspec.yaml: 项目的配置文件,定义了依赖项和其他元数据。
- README.md: 项目的说明文档。
2. 项目的启动文件介绍
在 example/lib/main.dart
文件中,展示了如何使用 Injectable 库来配置和启动应用。
import 'package:injectable/injectable.dart';
import 'package:get_it/get_it.dart';
import 'injection.config.dart';
final getIt = GetIt.instance;
@InjectableInit()
void configureDependencies() => $initGetIt(getIt);
void main() {
configureDependencies();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
启动文件介绍
- main.dart: 应用的入口文件,包含应用的初始化和启动逻辑。
- configureDependencies(): 使用
@InjectableInit
注解来配置依赖注入。 - main(): 应用的主函数,调用
configureDependencies()
进行依赖注入的初始化,然后运行应用。
- configureDependencies(): 使用
3. 项目的配置文件介绍
pubspec.yaml
文件是 Dart 项目的配置文件,定义了项目的依赖项、版本和其他元数据。
name: injectable_example
description: An example of how to use the injectable package.
version: 1.0.0
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
injectable: ^2.4.4
get_it: ^7.2.0
dev_dependencies:
build_runner: ^2.1.0
injectable_generator: ^2.4.4
配置文件介绍
- name: 项目的名称。
- description: 项目的描述。
- version: 项目的版本号。
- environment: 定义了项目所需的 Dart SDK 版本。
- dependencies: 项目的运行时依赖项,如
injectable
和get_it
。 - dev_dependencies: 开发时的依赖项,如
build_runner
和injectable_generator
。
通过以上介绍,您可以更好地理解和使用 Injectable 项目。
injectableCode Generator for get_it项目地址:https://gitcode.com/gh_mirrors/inj/injectable