Flutter包管理(三)

1、作用

在APP的实际开发过程中往往会依赖很多包,而这些包之间存在着交叉依赖、版本依赖,由开发者自己管理手动管理会非常麻烦,每种开发生态或编程官方会提供一些包的管理工具,在Flutter中我们在pubspec.yaml文件中来管理第三方依赖包。

2、配置文件解释

dart 复制代码
name: flutter_learn
    
description: "A new Flutter project."

publish_to: 'none'

version: 1.0.0+1

environment:
  sdk: ^3.5.3


dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.8

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^4.0.0

flutter:

  uses-material-design: true
  • name:应用或包的名称;
  • description:应用或包的描述、简介;
  • publish_to:是否将包发布到公共存储库,none代表包不会被发布;
  • version:应用或包的版本号;
  • environment:运行此项目所需的环境要求;
  • dev_dependencies:项目运行时所依赖的包;
  • flutter:Flutter相关配置。

4、Pub仓库

我们可以在pub仓库中查找需要的包和插件,也可以发布包和插件,接下来将使用其中的english_words实现随机字符串的Widget。

4.1 将english_words添加到依赖项列表

搜索english_words,我们发现最新版本是v 4.0.0,那我们就将该版本加入到依赖项列表。

dart 复制代码
dependencies:
  flutter:
    sdk: flutter


  cupertino_icons: ^1.0.8
  english_words: ^4.0.0 # 添加的依赖项
4.2 安装依赖包
4.3 导入包
dart 复制代码
import 'package:english_words/english_words.dart';
4.4 创建Wiget
dart 复制代码
// 随机生成字符串
class RandomWordsWiget extends StatelessWidget {
  const RandomWordsWiget({super.key});

  @override
  Widget build(BuildContext context) {
    // 生成随机字符串
    final word = WordPair.random();
    return Padding(
      padding: const EdgeInsets.all(8.0),
      child: Text(word.toString()),
    );
  }
}
  • 在_MyHomePageState.build的Column的字类Wiget中添加RandomWordsWiget。
dart 复制代码
child: Column(
  mainAxisAlignment: MainAxisAlignment.center,
  children: <Widget>[
    // 省略无关代码...
    const RandomWordsWiget(),
  ],
),

Alignment.center,

children: [

// 省略无关代码...

const RandomWordsWiget(),

],

),

复制代码
* 每次点击热重载时我们发现单词都不相同,成功实现。
相关推荐
雪铃儿12 小时前
Flutter 双端热更新新方案:基于 Dart 官方动态模块的 flutter_patcher 1.0.0
flutter·hotfix
好的佩奇18 小时前
Dart 之方法、操作符与可调用对象
android·flutter·dart
恋猫de小郭18 小时前
Flutter Impeller Vulkan 内存持续上涨,问题没想到是文字阴影
android·前端·flutter
传奇开心果2 天前
【Flutter踩坑排雷】第3课:const 误用坑|const 错误使用引发 UI 异常与性能损耗
android·flutter
行者-全栈开发2 天前
Flutter 插件 device_calendar_plus 开源鸿蒙适配实战:从权限弹窗失灵到循环日程跑通
flutter·跨平台·harmonyos·arkts·日历·适配·开源鸿蒙
恋猫de小郭2 天前
Flutter 开始支持 Jetpack Compose Platform View
android·前端·flutter
SoaringHeart2 天前
Flutter 查缺补漏:@JsonKey 属性全解,让模型层不再被后端字段牵着走
flutter
恋猫de小郭3 天前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
码点3 天前
二.Flutter 速成第二课:核心概念与第一个自定义页面
flutter