Flutter资源检查插件check_res的使用
Flutter资源检查插件check_res的使用
检测资源文件
检测图片资源文件R.dart
flutter pub run check_res:check_res lib/res/r.dart lib
检测文字文件 string.dart
flutter pub run check_res:check_string lib/res/string.dart lib
检测所有
flutter pub run check_res:check_all lib/res/r.dart lib/res/string.dart lib
检测索引R.dart文件
执行检测工程目录下的R.dart
的资源文件相关的文件是否被引用,最后会显示出没被引用的数据。
在根目录下执行如下命令:
flutter pub run check_res:check_res lib/res/r.dart lib
执行结果如下:
infinity[@infinitydeMBP-2](/user/infinitydeMBP-2) flutter_yongwen % sh scripts/lint_resource.sh lib/res/r.dart lib
$ grep -r R.icCry lib
lib/widgets/empty_widget.dart: Imagex.asset(R.icCry, width: 200, height: 200, color: context.primaryColor),
$ grep -r R.icAvatar lib
ShellException(grep -r R.icAvatar lib, exitCode 1, workingDirectory: /Users/infinity/Code/githubs/flutter_yongwen)
$ grep -r R.icHistory lib
lib/page/infos/main_page.dart: asset: R.icHistory,
lib/widgets/filewidgets/file_preview_icon.dart: return Imagex.asset(R.icHistory, width: 20, height: 20, color: context.primaryColor);
$ grep -r R.icPen lib
ShellException(grep -r R.icPen lib, exitCode 1, workingDirectory: /Users/infinity/Code/githubs/flutter_yongwen)
$ grep -r R.icTodo lib
ShellException(grep -r R.icTodo lib, exitCode 1, workingDirectory: /Users/infinity/Code/githubs/flutter_yongwen)
$ grep -r R.icDatas lib
ShellException(grep -r R.icDatas lib, exitCode 1, workingDirectory: /Users/infinity/Code/githubs/flutter_yongwen)
$ grep -r R.icSetting lib
lib/page/infos/main_page.dart: asset: R.icSetting,
lib/widgets/filewidgets/file_preview_icon.dart: return Imagex.asset(R.icSetting, width: 20, height: 20, color: context.primaryColor);
$ grep -r R.icCalender lib
lib/page/infos/main_page.dart: asset: R.icCalender,
lib/widgets/filewidgets/file_preview_icon.dart: return Imagex.asset(R.icCalender, width: 20, height: 20, color: context.primaryColor);
$ grep -r R.icFavorite lib
lib/page/infos/main_page.dart: asset: R.icFavorite,
$ grep -r R.icDir lib
lib/page/infos/main_page.dart: asset: R.icDir,
lib/page/infos/widgets/tree/tree_collect_widget.dart: widget.deep == 0 ? R.icRootFolder : R.icDir,
lib/widgets/tree/tree_select_widget.dart: widget.deep == 0 ? R.icRootFolder : R.icDir,
lib/widgets/tree/tree_widget.dart: widget.deep == 0 ? R.icRootFolder : R.icDir,
$ grep -r R.icBook lib
ShellException(grep -r R.icBook lib, exitCode 1, workingDirectory: /Users/infinity/Code/githubs/flutter_yongwen)
$ grep -r R.icFile lib
lib/widgets/filewidgets/file_preview_icon.dart: Imagex.asset(R.icFile, width: width ?? size, height: height ?? size, color: context.primaryColor),
$ grep -r R.icOpenFolder lib
lib/page/infos/widgets/panels/collect_sentence_panel.dart: child: Imagex.asset(R.icOpenFolder, width: 20, height: 20, color: context.primaryColor),
lib/page/infos/widgets/panels/file_panel.dart: child: Imagex.asset(R.icOpenFolder, width: 20, height: 20, color: context.primaryColor),
$ grep -r R.icRootFolder lib
lib/page/infos/widgets/tree/tree_collect_widget.dart: widget.deep == 0 ? R.icRootFolder : R.icDir,
lib/widgets/tree/tree_select_widget.dart: widget.deep == 0 ? R.icRootFolder : R.icDir,
lib/widgets/tree/tree_widget.dart: widget.deep == 0 ? R.icRootFolder : R.icDir,
----------🐝🐝🐝Cannot find reference------------
1. icAvatar
2. icPen
3. icTodo
4. icDatas
5. icBook
更多关于Flutter资源检查插件check_res的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter资源检查插件check_res的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用check_res
插件来进行资源检查的一个示例。check_res
插件通常用于在构建过程中验证应用的资源文件(如图片、本地化文件等)是否存在,确保没有遗漏或错误引用的资源。
1. 添加依赖
首先,在你的pubspec.yaml
文件中添加check_res
依赖:
dependencies:
flutter:
sdk: flutter
check_res: ^最新版本号 # 替换为最新的版本号
然后运行flutter pub get
来安装依赖。
2. 配置build.yaml
check_res
插件使用build_runner
来运行构建时检查。你需要在项目的根目录下创建一个或修改现有的build.yaml
文件,以配置资源检查规则。
targets:
$default:
builders:
check_res:check_res:
enabled: true
options:
# 在这里配置你需要的检查选项,比如资源目录等
# 例如,假设你要检查assets目录下的所有图片文件
resources:
- assets/**/*.png
- assets/**/*.jpg
3. 使用build_runner
运行检查
在命令行中,导航到你的Flutter项目根目录,然后运行以下命令来执行资源检查:
flutter pub run build_runner check
如果资源文件有缺失或不符合配置的检查规则,check_res
将会输出错误信息。
4. 示例代码结构
假设你的项目结构如下:
my_flutter_app/
├── assets/
│ ├── images/
│ │ ├── image1.png
│ │ └── image2.jpg
│ └── locales/
│ ├── en.json
│ └── zh.json
├── lib/
│ └── main.dart
├── pubspec.yaml
└── build.yaml
你的pubspec.yaml
中的资源引用可能看起来像这样:
flutter:
assets:
- assets/images/image1.png
- assets/images/image2.jpg
- assets/locales/en.json
- assets/locales/zh.json
5. 检查结果
当你运行flutter pub run build_runner check
时,check_res
将会根据build.yaml
中的配置检查assets
目录下的资源文件。如果所有文件都存在且符合规则,则不会有错误输出;否则,它会列出缺失或不符合规则的资源文件。
注意
check_res
的具体配置和使用可能会随着插件版本的更新而变化,请参考插件的官方文档和示例来获取最新的使用指南。- 如果
check_res
插件不支持直接通过build.yaml
配置资源检查规则(这种情况较少,因为大多数构建时工具都依赖此文件),你可能需要查阅插件的README文件或源代码,了解如何以编程方式配置检查规则。
希望这个示例能帮助你在Flutter项目中使用check_res
插件进行资源检查!