Flutter资源文件生成插件sheepu_assets_generator的使用
Flutter资源文件生成插件sheepu_assets_generator的使用
sheepu_assets_generator
sheepu_assets_generator
是一个用于自动生成单个项目或多模块项目中资源文件配置(yaml)和常量的 Flutter 工具。
[]
语言支持:英语 | 简体中文
使用
环境
你需要将 pub
的 bin 路径添加到系统的 PATH 中。
平台 | 缓存位置 |
---|---|
macOS 或 Linux | $HOME/.pub-cache/bin |
Windows* | %APPDATA%\Pub\Cache\bin |
更多关于 pub global
的信息可以参考 官方文档。
激活 sheepu_assets_generator
运行以下命令来全局安装插件:
dart pub global activate sheepu_assets_generator
命令
帮助
查看帮助信息:
sheepu_agen -h
演示
运行一个简单的示例:
sheepu_agen -t d -s -r lwu
所有命令
以下是所有可用命令的详细说明:
-h, --[no-]help 帮助信息
-p, --path Flutter 项目的根路径(默认值为 “.”)
-f, --folder 资源文件的根目录(默认值为 “assets”)
-w, --[no-]watch 是否持续监控资源文件的变化(默认值为开启)
-t, --type pubspec.yaml 中的类型
“d” 表示目录(如 “assets/images/”)
“f” 表示文件(如 “assets/images/xxx.jpg”)(默认值为 “d”)
-s, --[no-]save 是否保存参数到本地
如果仅运行 sheepu_agen
而不带任何参数,则会执行保存的参数
-o, --out 常量类的生成路径(默认值为 “lib”)
-r, --rule 资源常量名称的命名规则
“lwu” (lowercase_with_underscores):assets_images_xxx_jpg
“uwu” (uppercase_with_underscores):ASSETS_IMAGES_XXX_JPG
“lcc” (lowerCamelCase):assetsImagesXxxJpg
(默认值为 “lwu”)
-c, --class 常量类的名称(默认值为 “Assets”)
–const-ignore 忽略某些常量的正则表达式
---
## Dart
### 在项目中使用
在项目中使用时,可以通过以下方式引用资源:
```dart
Image.asset(Assets.assets_images_xxx_jpg);
在模块中使用
在模块中使用时,需要指定包名:
Image.asset(
Assets.assets_images_xxx_jpg,
package: Assets.package,
);
完整示例
假设你有一个 Flutter 项目,其结构如下:
project/
├── assets/
│ └── images/
│ ├── logo.png
│ └── background.jpg
├── lib/
│ └── main.dart
└── pubspec.yaml
1. 配置 pubspec.yaml
确保你的 pubspec.yaml
文件中正确配置了资源文件:
flutter:
assets:
- assets/images/logo.png
- assets/images/background.jpg
2. 生成资源常量
运行以下命令生成资源常量:
sheepu_agen -p . -f assets/images -t f -r lcc -c MyAssets
这将生成一个名为 MyAssets
的类,其中包含以驼峰命名法命名的资源常量。
3. 使用生成的常量
在 main.dart
中使用生成的常量:
import 'package:project/lib/my_assets.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(MyAssets.assetsImagesLogoPng),
SizedBox(height: 20),
Image.asset(MyAssets.assetsImagesBackgroundJpg),
],
),
),
),
);
}
}
更多关于Flutter资源文件生成插件sheepu_assets_generator的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter资源文件生成插件sheepu_assets_generator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
sheepu_assets_generator
是一个 Flutter 插件,用于自动生成资源文件的引用代码,方便开发者在项目中使用资源文件(如图片、字体等)。通过这个插件,你可以减少手动编写资源引用的工作量,并避免因路径错误导致的问题。
以下是 sheepu_assets_generator
的基本使用步骤:
1. 安装插件
首先,你需要在 pubspec.yaml
文件中添加 sheepu_assets_generator
作为开发依赖项:
dev_dependencies:
sheepu_assets_generator: ^1.0.0
然后运行 flutter pub get
来安装插件。
2. 添加资源文件
在 pubspec.yaml
文件中,确保你已经添加了需要使用的资源文件。例如:
flutter:
assets:
- assets/images/
- assets/icons/
fonts:
- family: CustomFont
fonts:
- asset: assets/fonts/CustomFont-Regular.ttf
- asset: assets/fonts/CustomFont-Bold.ttf
3. 生成资源引用代码
在项目根目录下运行以下命令,生成资源文件的引用代码:
flutter pub run sheepu_assets_generator
运行该命令后,插件会自动生成一个 Dart 文件(通常是 assets.dart
),其中包含了所有资源文件的引用代码。
4. 使用生成的资源引用代码
生成的 assets.dart
文件会包含类似以下的代码:
class Assets {
static const String imagesLogo = 'assets/images/logo.png';
static const String iconsHome = 'assets/icons/home.png';
static const String fontsCustomFontRegular = 'assets/fonts/CustomFont-Regular.ttf';
static const String fontsCustomFontBold = 'assets/fonts/CustomFont-Bold.ttf';
}
你可以在项目中直接使用这些常量来引用资源文件,例如:
Image.asset(Assets.imagesLogo);
Text('Hello, world!', style: TextStyle(fontFamily: 'CustomFont'));
5. 自动生成(可选)
为了简化开发流程,你可以将 flutter pub run sheepu_assets_generator
添加到项目的构建脚本中,或者在 IDE 中配置自动运行该命令。这样,每次添加或修改资源文件时,引用代码都会自动更新。
6. 自定义配置(可选)
sheepu_assets_generator
支持一些自定义配置选项,你可以在 pubspec.yaml
文件中进行配置。例如:
sheepu_assets_generator:
output: lib/generated/assets.dart
exclude:
- assets/images/old/