我正在学习Flutter和Dart。我注意到pubspec.yaml
文件似乎不仅包含第三方库的依赖版本。例如。
# The following section is specific to Flutter.
flutter:
uses-material-design: true
我知道Dart Pub Tool定义了pubspec.yaml
的格式,而且类似Flutter的框架可以通过额外的设置来增强pubspec.yaml
,从而引发以下问题:
pubspec.yaml
是用于提供配置标志还是仅提供依赖项?pubspec.yaml
惯用的Dart还是唯一的?pubspec.yaml
是仅由pub
工具解析还是在运行时解析为通用应用程序配置文件?pubspec.yaml
实现了自己的解析器,并使uses-material-design: true
之类的设置在运行时可用? 答案 0 :(得分:4)
pubspec.yaml是否设计用于提供配置标志或仅提供依赖项?
从历史上看,它还包含纯Dart项目中的构建设置。例如,用于编译为JS的设置,但已移至build.yaml
。参见https://github.com/dart-lang/build/blob/master/build_config/README.md
扑打的方式是使用
pubspec.yaml
惯用的Dart还是唯一的?
Flutter独有。
Flutter是否为pubspec.yaml实现了自己的解析器,并在运行时使诸如
uses-material-design: true
之类的设置可用?
是。
尽管这些设置是构建时设置,而不是运行时设置。
实际上,我很遗憾该文件混合了不同的用途。在Flutter的早期,Flutter的特定设置位于不同的文件中,但这也造成了一些困难(不知道详细信息-仅在GitHub讨论中看到了它),因此他们将其与pubspec.yaml
合并。