共计 1803 个字符,预计需要花费 5 分钟才能阅读完成。
简介
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.4
transmogrify: ^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: main
fvm:
那么在执行 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/
最艰深的解读,最粗浅的干货,最简洁的教程,泛滥你不晓得的小技巧等你来发现!
欢送关注我的公众号:「程序那些事」, 懂技术,更懂你!