写点什么

dart 系列之: 元世界 pubspec.yaml 文件详解

作者:程序那些事
  • 2021 年 11 月 18 日
  • 本文字数:1068 字

    阅读完需:约 4 分钟

dart系列之:元世界pubspec.yaml文件详解

简介

pubspec.yaml 是所有 dart 项目的灵魂,它包含了所有 dart 项目的依赖信息和其他元信息,所以 pubspec.yaml 就是 dart 项目的 meta!

pubspec.yaml 支持的字段

根据 dart 的定义,pubspec.yaml 中可以包含下面的字段:

注意,以上是 dart 中 pubspec.yaml 支持的字段,如果是在 flutter 环境中,则会有些额外支持的字段。

# 一个例子

我们看一个具体的例子:

 name: my_appversion: 11.15description: >-  this is a new apphomepage: http://www.flydean.comdocumentation: http://www.flydean.comenvironment:  sdk: '>=2.10.0 <3.0.0'dependencies:  efts: ^2.0.4  transmogrify: ^0.4.0dev_dependencies:  test: '>=1.15.0 <2.0.0'

复制代码

字段详情

下面来看下各个字段的详情和限制情况:

  1. Name

name 表示的是包的名字,name 必须是全小写,如果有多个词的话,可以用下划线来区分,如:my_app.

并且只能使用小写字母和数字的组合,同时不能以数字开头,并且不要使用 dart 中的保留字。

  1. Version

Version 表示的是版本号,版本号是由点分割的三个数字,如:11.15.0. 后面还可以跟上 build 版本号:+1, +2, +hotfix.oopsie, 或者预发布版本等:-dev.4, -alpha.12, -beta.7, -rc.5.

  1. Description

package 的描述信息最好使用英文来描写,长度是 60 到 180 个字符,表示这个包的作用。

  1. Dependencies

有两种依赖信息,一种是所有使用到这个 packages 的人都需要用到的依赖,这种依赖放在 dependencies 中。

还有一种是只用在当前 pacakge 开发中的包,这种依赖放在 dev_dependencies 中。

在某些情况下,我们有可能需要覆盖某些依赖包,则可以放在:dependency_overrides 中。

  1. Executables

有些 pacakges 提供的是工具供大家使用,这些工具有可能是命令行工具,所以需要在 executables 中指定可以执行的命令的路径。

比如下面的配置:

executables:  slidy: main  fvm:
复制代码

那么在执行 pub global activate 之后,就可以在全局执行 slidy 来执行 bin/main.dart, 和 fvm 来执行 binfvm.dart.

  1. environment

因为 Dart 是一门新的语言,所以目前来说其变动还是挺大的。所以有些应用可以依赖于不同的 dart 版本,这时候就需要用到 environment:

environment:  sdk: '>=2.10.0 <3.0.0'
复制代码

上面的代码中,我们指定了 dart sdk 的版本范围。

从 dart1.19 之后,environment:中还支持指定 flutter 的版本:

environment:  sdk: '>=1.19.0 <3.0.0'  flutter: ^0.1.2
复制代码

总结

以上就是 dart 的元世界 pubspec.yaml 详解。

本文已收录于 http://www.flydean.com/10-dart-pubspec/

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

发布于: 2 小时前阅读数: 8
用户头像

关注公众号:程序那些事,更多精彩等着你! 2020.06.07 加入

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在公众号:程序那些事!

评论

发布
暂无评论
dart系列之:元世界pubspec.yaml文件详解