Flutter 和 pubspec 文件
每个 Flutter 项目都包含一个 pubspec.yaml
文件,通常称为_pubspec_。创建新的 Flutter 项目时会生成一个基本 pubspec。它位于项目树的顶部,包含 Dart 和 Flutter 工具需要了解的有关项目的一些元数据。pubspec 使用YAML编写,它是人类可读的,但请注意_空格(制表符与空格)很重要_。
pubspec 文件指定项目所需的依赖项,例如特定包(及其版本)、字体或图像文件。它还指定其他需求,例如对开发者包(如测试或模拟包)的依赖性,或对 Flutter SDK 版本的特定约束。
Dart 和 Flutter 项目共有的字段在pubspec 文件(位于dart.dev)中进行了描述。此页面列出了仅对 Flutter 项目有效的_Flutter 特定_字段。
使用 flutter create
命令(或使用 IDE 中的等效按钮)创建新项目时,它会为基本的 Flutter 应用创建一个 pubspec。
这是一个 Flutter 项目 pubspec 文件的示例。Flutter 特有的字段已突出显示。
name: <project name>
description: A new Flutter project.
publish_to: none
version: 1.0.0+1
environment:
sdk: ^3.6.0
dependencies:
flutter: # 每个 Flutter 项目都需要
sdk: flutter # 每个 Flutter 项目都需要
flutter_localizations: # 需要启用本地化
sdk: flutter # 需要启用本地化
cupertino_icons: ^1.0.8 # 仅当您使用 Cupertino(iOS 风格)图标时才需要
dev_dependencies:
flutter_test:
sdk: flutter # 包含测试的 Flutter 项目需要
flutter_lints: ^5.0.0 # 包含一组推荐的 Flutter 代码 lint
flutter:
uses-material-design: true # 如果您使用 Material 图标字体,则需要
generate: true # 启用从 arb 文件生成本地化字符串
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
- family: Trajan Pro
fonts:
- asset: fonts/TrajanPro.ttf
- asset: fonts/TrajanPro_Bold.ttf
weight: 700
资源
#常见的资源类型包括静态数据(例如,JSON 文件)、配置文件、图标和图像(JPEG、WebP、GIF、动画 WebP/GIF、PNG、BMP 和 WBMP)。
除了列出包含在应用包中的图像外,图像资源还可以引用一个或多个特定分辨率的“变体”。有关更多信息,请参阅资源和图像页面中的分辨率感知部分。有关从包依赖项添加资源的信息,请参阅同一页面中的包依赖项中的资源图像部分。
字体
#如上述示例所示,fonts 部分中的每个条目都应具有一个带有字体系列名称的 family
密钥,以及一个 fonts
密钥,其中包含一个列表,用于指定字体的资源和其他描述符。
有关使用字体的示例,请参阅Flutter cookbook中的使用自定义字体和从包导出字体食谱。
更多信息
#有关包、插件和 pubspec 文件的更多信息,请参阅以下内容:
除非另有说明,否则本网站上的文档反映的是 Flutter 的最新稳定版本。页面最后更新于 2025-01-30。 查看源代码 或 报告问题。