文章目录

  • 简介
  • pubspec.yaml支持的字段
  • 一个例子
  • 字段详情
  • 总结

简介

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

pubspec.yaml支持的字段

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

字段名 是否必须字段 描述
name package的名字
version 如果发布到pub.dev,则需要 package的版本号
description 如果发布到pub.dev,则需要 package的描述信息
homepage package的主页
repository package的源代码地址
issue_tracker package问题跟踪地址
documentation package的文档信息
dependencies package的依赖信息
dev_dependencies pacakge的dev依赖信息
dependency_overrides 想要覆盖的package
environment dart2需要
executables package的可执行文件路径
publish_to package将如何发布

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

一个例子

我们看一个具体的例子:

 name: my_app
version: 11.15
description: >-this is a new app
homepage: http://www.flydean.com
documentation: http://www.flydean.com
environment:sdk: '>=2.10.0 <3.0.0'
dependencies:efts: ^2.0.4transmogrify: ^0.4.0
dev_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: mainfvm:

那么在执行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/

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

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

dart系列之:元世界pubspec.yaml文件详解相关推荐

  1. Kubernetes二进制集群部署+Web管理界面+kubectl 命令管理+YAML文件详解(集合)

    Kubernetes---- 二进制集群部署(ETCD集群+Flannel网络) Kubernetes----单节点部署 Kubernetes----双master节点二进制部署 Kubernetes ...

  2. 【OpenCV】OpenCV实战从入门到精通之 -- 输入输出XML和YAML文件详解

    1.XML和YAML文件简介 XML文件是一种元标记语言,即开发者可以根据自身需要定义自己的标记.它是一种语义和结构语言,描述了文档的语义和结构. YAML以数据为中心,是一个可读性高,用来表达资料序 ...

  3. Kubernetes(k8s) YAML文件详解

    文章目录 一.yaml文件简介 1)yaml的语法规则: 2)在Kubernetes中,只需要知道两种结构类型即可: 二.yaml常见语法 1)apiVersion 2)kind 3)metadata ...

  4. 5、kubernetes 集群 YAML 文件详解

    文章目录 一.概述 二.YAML文件介绍 2.1 YAML概述 2.2 YAML 基本语法 2.3 YAML 支持的数据结构 2.3.1 对象 2.3.2 数组 2.3.3 纯量(scalars) 三 ...

  5. Kubernetes之yaml文件详解(汇总-详细)

    一.YAML基础 YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便.它实质上是一种通用的数据串行化格式. YAML语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用 ...

  6. K8s创建pod yaml文件详解

    kubernetes创建pod的yaml文件,参数说明 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 ...

  7. yaml及使用PyYaml操作yaml文件详解

    1.yaml主要用途 YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便. 2.yaml支持的数据结构 数据结构名称 包含的数据类型 描述说明 纯量 字符串.布尔值.整数. ...

  8. 【删】【Kubernetes视频学习笔记】Kubernetes集群YAML文件详解

    文章目录 概述 YAML文件介绍 YAML概述 YAML 基本语法 YAML 支持的数据结构 对象 数组 YAML文件组成部分 控制器的定义 被控制的对象 属性说明 如何快速编写YAML文件 使用ku ...

  9. 三、kubernetes 集群 YAML 文件详解

    1. 简单说明 是一个可读性高,用来表大数据列的格式.Yaml的意思其实是:仍是一种标记语言,但是为了强调这种语言以数据为中心.而不是以标记语言为重点. 2. 基本语法 缩进时不允许使用Tab键,只允 ...

最新文章

  1. 【学习笔记】SAP CO模块概念信息(上)
  2. ArrayList、LinkedList、Vector的区别
  3. OpenCV的工具函数
  4. 用Gradle命令行编译Android工程
  5. Graphics Driver 的编写
  6. id,rowid,rownum 区别
  7. 新款iPhone SE预约量超40万,拼多多已经安排上,击穿底价2999元?
  8. C3P0数据源和Tomcat jdbc数据源的基本配置
  9. noi.ac #289. 电梯(单调队列)
  10. 编码器分类及原理和测速应用(含代码)
  11. 学习李践《绩效飞轮--企业提升利润的系统工具》课程观后感
  12. 计算机学院毕业设计任务书,计算机专业毕业设计任务书.doc
  13. 使用Excel 2007绘制甘特图
  14. web开发视频教程,CSS颜色基本样式
  15. 普洱机器人编程_普洱机器人视觉效果怎么样?
  16. MySQL百万级压测数据表
  17. 微软商店,打开就显示无法加载该页面 代码0x80131500,网上一般不说的标准解决方案
  18. 简历被公司浏览分布图-来自前程无忧
  19. 51智能小车超声波避障
  20. 易语言复制代码到记事本时出现乱码

热门文章

  1. 中国科学院大学计算机与科学技术学院,贺思敏 - 中国科学院大学 - 计算机科学与技术学院...
  2. ESP8266开发笔记
  3. C/C++添加设置任务计划
  4. Python编写简易木马程序
  5. socket 通信关于bind那点事
  6. 2_2 DecorateMode.cpp 装饰者模式
  7. 斐波那契数拓展问题:leetcode-70 爬楼梯问题 leetcode-1137 泰波那契数问题解法
  8. Python 实现斐波那契数列
  9. 使用VMware VSphere WebService SDK进行开发 (七)——获取数据中心、集群、主机、虚拟机的目录结构
  10. 2022校招百度提前批校园招聘