我们在上一章回中介绍了主题相关的内容,本章回中将介绍 Flutter包管理.闲话休提,让我们一起Talk Flutter吧。
概念介绍
在移动开发中会使用各种各样的包,比如Android开发中用于网络操作的Okhttp包,包太多了就需要做统一的布署和管理,不然会让项目混乱不堪。
Android早期使用Ant进行包管理,现在全部使用Gradle来管理包,当然了包管理只是Gradle的部分功能,它还可以用来构建项目。
IOS使用Cocoapods来进行包管理,不过它不是苹果官方推出的,因此需要单独安装。
Flutter作为跨端开发框架也提供了包管理功能,它通过yaml
文件来进行包管理,该文件类似xml,不过语法上比xml更加容易理解。
使用方法
使用AndroidStudio创建Flutter项目后会自动生成一个名叫pubspec.yaml
的文件,该文件位于项目根目录下,主要用来管理包。下面是文件中常用的语法:
- name: xxx #用来设置项目的名称
- description: xxx #对项目的简要概述
- publish_to:‘none’ #表示不发布到pub.dev仓库中
- version: #用来设置项目的版本
- dependencies: #用来管理所有的包
- dev_dependencies: #用来管理开发环境中的包
- flutter: #用来控制项目的配置
这些语法都是标签,标签下面的区域就是它的作用范围,直到下一个标签出现时才会结束,官方称这个作用范围为section。标签需要顶格写,没有缩进,而位于标签作用范围内的内容要缩进。
示例程序
name: fluttercookbook
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: ">=2.17.6 <3.0.0"
dependencies:
flutter:
sdk: flutter
#talk8 add 添加国际化相关内容,添加完后IDE会在窗口上方自动弹出flutter命令,选择pub get就可以添加依赖
#或者是在终端中执行flutter命令,命令内容?依赖主要更新了Dart_Packages.xml文件中的内容
flutter_localizations:
sdk: flutter
intl: any
#导入intl依赖,输入任何数字后IDE就会自动弹出当前最新的版本
intl_translation: ^0.18.2
上面的示例代码中只有intl相关的内容是我们手动添加的,主要用来引入intl包实现国际化,其它的内容都是项目默认生成的内容。在实际项目中我们引入包时只需要在dependencies
标签下添加包名和版本号就可以,写法类似上面代码中的intl
包。
经验分享
Flutter官方维护着一个包分发平台:pub.dev
.我们可以到该网站查看流行的包,这些包有些是Flutter官方推出的,有些是三方公司或者个人推出的。我们可以依据项目需求来选择不同包,后续的内容中我们也会介绍一些常用的包,以及它们的使用方法。
在给程序编译或者打包时就会发现Andoird端没有使用Gradle管理包,而且是直接使用yaml文件来管理包,而IOS端则仍然使用Cocoapods来管理包,这点可以从IOS
目录下的Podfile推断出来.因此要提前安装好Cocoapods。文章来源:https://www.toymoban.com/news/detail-517850.html
看官们,关于"Flutter中的包管理"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!文章来源地址https://www.toymoban.com/news/detail-517850.html
到了这里,关于第七十五回:Flutter中的包管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!