dart系列之:元世界pubspec.yaml文件详解
文章目录
- 简介
- 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'
字段详情
下面来看下各个字段的详情和限制情况:
- Name
name表示的是包的名字,name必须是全小写,如果有多个词的话,可以用下划线来区分,如:my_app.
并且只能使用小写字母和数字的组合,同时不能以数字开头,并且不要使用dart中的保留字。
- Version
Version表示的是版本号,版本号是由点分割的三个数字,如:11.15.0. 后面还可以跟上build版本号:+1, +2, +hotfix.oopsie, 或者预发布版本等:-dev.4, -alpha.12, -beta.7, -rc.5.
- Description
package的描述信息最好使用英文来描写,长度是60 到180个字符,表示这个包的作用。
- Dependencies
有两种依赖信息,一种是所有使用到这个packages的人都需要用到的依赖,这种依赖放在dependencies中。
还有一种是只用在当前pacakge开发中的包,这种依赖放在dev_dependencies中。
在某些情况下,我们有可能需要覆盖某些依赖包,则可以放在:dependency_overrides中。
- Executables
有些pacakges提供的是工具供大家使用,这些工具有可能是命令行工具,所以需要在executables中指定可以执行的命令的路径。
比如下面的配置:
executables:slidy: mainfvm:
那么在执行pub global activate之后,就可以在全局执行slidy来执行bin/main.dart, 和fvm来执行binfvm.dart.
- 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文件详解相关推荐
- Kubernetes二进制集群部署+Web管理界面+kubectl 命令管理+YAML文件详解(集合)
Kubernetes---- 二进制集群部署(ETCD集群+Flannel网络) Kubernetes----单节点部署 Kubernetes----双master节点二进制部署 Kubernetes ...
- 【OpenCV】OpenCV实战从入门到精通之 -- 输入输出XML和YAML文件详解
1.XML和YAML文件简介 XML文件是一种元标记语言,即开发者可以根据自身需要定义自己的标记.它是一种语义和结构语言,描述了文档的语义和结构. YAML以数据为中心,是一个可读性高,用来表达资料序 ...
- Kubernetes(k8s) YAML文件详解
文章目录 一.yaml文件简介 1)yaml的语法规则: 2)在Kubernetes中,只需要知道两种结构类型即可: 二.yaml常见语法 1)apiVersion 2)kind 3)metadata ...
- 5、kubernetes 集群 YAML 文件详解
文章目录 一.概述 二.YAML文件介绍 2.1 YAML概述 2.2 YAML 基本语法 2.3 YAML 支持的数据结构 2.3.1 对象 2.3.2 数组 2.3.3 纯量(scalars) 三 ...
- Kubernetes之yaml文件详解(汇总-详细)
一.YAML基础 YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便.它实质上是一种通用的数据串行化格式. YAML语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用 ...
- K8s创建pod yaml文件详解
kubernetes创建pod的yaml文件,参数说明 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 ...
- yaml及使用PyYaml操作yaml文件详解
1.yaml主要用途 YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便. 2.yaml支持的数据结构 数据结构名称 包含的数据类型 描述说明 纯量 字符串.布尔值.整数. ...
- 【删】【Kubernetes视频学习笔记】Kubernetes集群YAML文件详解
文章目录 概述 YAML文件介绍 YAML概述 YAML 基本语法 YAML 支持的数据结构 对象 数组 YAML文件组成部分 控制器的定义 被控制的对象 属性说明 如何快速编写YAML文件 使用ku ...
- 三、kubernetes 集群 YAML 文件详解
1. 简单说明 是一个可读性高,用来表大数据列的格式.Yaml的意思其实是:仍是一种标记语言,但是为了强调这种语言以数据为中心.而不是以标记语言为重点. 2. 基本语法 缩进时不允许使用Tab键,只允 ...
最新文章
- 【学习笔记】SAP CO模块概念信息(上)
- ArrayList、LinkedList、Vector的区别
- OpenCV的工具函数
- 用Gradle命令行编译Android工程
- Graphics Driver 的编写
- id,rowid,rownum 区别
- 新款iPhone SE预约量超40万,拼多多已经安排上,击穿底价2999元?
- C3P0数据源和Tomcat jdbc数据源的基本配置
- noi.ac #289. 电梯(单调队列)
- 编码器分类及原理和测速应用(含代码)
- 学习李践《绩效飞轮--企业提升利润的系统工具》课程观后感
- 计算机学院毕业设计任务书,计算机专业毕业设计任务书.doc
- 使用Excel 2007绘制甘特图
- web开发视频教程,CSS颜色基本样式
- 普洱机器人编程_普洱机器人视觉效果怎么样?
- MySQL百万级压测数据表
- 微软商店,打开就显示无法加载该页面 代码0x80131500,网上一般不说的标准解决方案
- 简历被公司浏览分布图-来自前程无忧
- 51智能小车超声波避障
- 易语言复制代码到记事本时出现乱码
热门文章
- 中国科学院大学计算机与科学技术学院,贺思敏 - 中国科学院大学 - 计算机科学与技术学院...
- ESP8266开发笔记
- C/C++添加设置任务计划
- Python编写简易木马程序
- socket 通信关于bind那点事
- 2_2 DecorateMode.cpp 装饰者模式
- 斐波那契数拓展问题:leetcode-70 爬楼梯问题 leetcode-1137 泰波那契数问题解法
- Python 实现斐波那契数列
- 使用VMware VSphere WebService SDK进行开发 (七)——获取数据中心、集群、主机、虚拟机的目录结构
- 2022校招百度提前批校园招聘