Flutter 包管理器和资源管理使用学习
目录
- 什么叫包管理器
- Flutter 包管理器
- Pub仓库
- 资源管理
- 配置图片资源
- 配置全局字体资源
- 结束语
什么叫包管理器
包管理器就是用来管理程序运行依赖的一个配置应用。在程序运行中,我们会用到各种各样的第三方程序包,若我们手动管理这些程序,他将变得十分臃肿。这时候便诞生了包管理器,类似于手机中的AppStore。比如说我们手机中的某个程序更新了,我们就可以通过AppStore来更新。同样的我们可以通过包管理来更新我们程序中用到的依赖包。
Flutter 包管理器
Flutter包管理器是Yanr。它能够快速、安全、 并可靠地完成这些工作。通过Yarn你可以使用其他开发者针对不同问题的解决方案,使自己的开发过程更简单,你还可以上报或者贡献解决方案。一旦问题被修复, Yarn会更新保持同步,Flutter项目默认的配置文件是pubspec.yaml。
name: flutter_demo description: A new Flutter project. version: 1.0.0 dependencies: flutter: sdk: flutter dev_dependencies: flutter_test: sdk: flutter flutter: assets: - images/a_dot_burr.jpeg - images/a_dot_ham.jpeg fonts: - family: Schyler fonts: - asset: fonts/Schyler-Regular.ttf - asset: fonts/Schyler-Italic.ttf style: italic
name:应用或包名称。
description: 应用或包的描述、简介。
version:应用或包的版本号。
dependencies:生产环境依赖的工具包。
dev_dependencies:开发环境依赖的工具包。
flutter:flutter相关的配置选项。
- assets: 配置静态文件
- font: 配置字体文件
Pub仓库
Pub 是Google官方的Dart Packages仓库,类似于node中的npm仓库,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。关于安装依赖的相关步骤,这里不展开讲,自行学习。
资源管理
flutter资源主要包括静态数据(例如JSON文件)、图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)等。每个asset都通过相对于pubspec.yaml文件所在位置的进行配置。如上所述的image图片、font字体等。
配置图片资源
- 首先在pubspec.yaml flutter 配置环境下,配置静态文件目录或者文件名
assets: - images/tabbar // 可以直接配置静态资源文件目录 - images/image.png // 也可以配置图片名
- 使用资源图片资源
Center( child: Image.asset( 'images/image.png', width: 350, height: 335, ), ),
关于图片资源存放目录,官网说要必须配置2.x、3.x 文件目录(AssetImage 可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。),我在开发中没有配置,图片也正常加载了。所以你若没有此类需求,只是单纯去加载图片资源,建议创建一个图片资源文件夹就够了。 若我出现引导错误,及时纠正。
配置全局字体资源
- 下载字体资源包,存放在程序主目录/fonts 文件夹(存放目录可以是任何位置,需要在pubspec.yaml 配置正确的目录地址)
- 在pubspec.yaml flutter 配置环境下,配置静态文件目录或者文件名
fonts: - family: Avenir fonts: - asset: fonts/Avenir/Avenir.ttf // 配置正确的字体存放路径 weight: 900
- 在main.dart 中定义全局字体配置
MaterialApp( theme: ThemeData(fontFamily: 'Avenir'), debugShowCheckedModeBanner: false, ), );
配置完成后,你程序中的默认字体就是你所下载的字体文件了。是不是so easy!
关于静态资源配置,上述两种是我在项目中经常遇到的一些配置。关于其他静态资源配置,暂时没有遇到,若之后遇到了,解决了,我会及时补充,还请各位同学理解。
结束语
关于flutter包管理器和资源管理的学习到这里就结束了,更多关于Flutter 包管理器资源管理的资料请关注我们其它相关文章!