Flutter 包管理器和资源管理使用学习

Flutter 包管理器和资源管理使用学习

什么叫包管理器

包管理器就是用来管理程序运行依赖的一个配置应用。在程序运行中,我们会用到各种各样的第三方程序包,若我们手动管理这些程序,他将变得十分臃肿。这时候便诞生了包管理器,类似于手机中的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 包管理器资源管理的资料请关注云海天教程其它相关文章!

原文地址:https://juejin.cn/post/7169545975587930126