概述
pubspec.yaml是dart項(xiàng)目使用的配置文件,使用YAML語(yǔ)言編寫
用flutter開發(fā)需要了解pubspec的配置規(guī)則
pubspec.yaml示例:
pubspec有很多配置項(xiàng)一铅,我們來一一介紹
配置項(xiàng)
name
- 必須項(xiàng)
- 必須是小寫字母离唬,用下劃線分隔皇帮,例如: just_like_this
- 只能用基礎(chǔ)拉丁字母和阿拉伯?dāng)?shù)字: [a-z0-9]
- 不能以數(shù)字開頭遏暴,也不能是保留詞
version
- 如果發(fā)布到pub.dev,則必須有version
- 本地開發(fā)可以沒有version(如果沒有version荐绝,則默認(rèn)是0.0.0)
description
- 可選項(xiàng)
- 如果要發(fā)布package低匙,則必須填寫description旷痕,用英文填寫
- 描述不要太長(zhǎng),在60 to 180字符之間
homepage
- 可選項(xiàng)
- 是一個(gè)指向包主頁(yè)或者源碼倉(cāng)庫(kù)的URL
repository
- 可選項(xiàng)
- 源碼倉(cāng)庫(kù)的URL
issure_tracker
- 可選項(xiàng)
- 用于跟蹤問題的URL
documentation
- 可選項(xiàng)
- 包說明的URL
dependencies
- name:包名
- version:版本號(hào)
- 約束符號(hào)
- ^
- ^version:版本號(hào)要與指定的版本兼容
- ^1.2.3相當(dāng)于 '>=1.2.3 <2.0.0'
- ^0.1.2相當(dāng)于'>=0.1.2 <0.2.0'
- 其他符號(hào)
- any
- 1.2.3
- >=1.2.3
- >1.2.3
- <=1.2.3
- <1.2.3
- ^
- 約束符號(hào)
- source:指定包來源
- sdk
- The SDK source is used for any SDKs that are shipped along with packages, which may themselves be dependencies
-
目前顽冶,flutter是唯一支持的sdk
- sdk
-
Hosted packages
從pub.dev或者其他地址下載的包
-
從pub.dev下載
-
從其他地址下載
-
Git packages
-
如果包尚未發(fā)布或者正在開發(fā)哦欺抗,可以用git packages指定git倉(cāng)庫(kù)
-
如果是私有倉(cāng)庫(kù), 可以使用SSH鏈接到倉(cāng)庫(kù)
-
可以指定commit、分支强重、或者tag和其他git允許的引用
-
默認(rèn)是使用倉(cāng)庫(kù)根目錄绞呈,可以使用其他目錄
-
- Path packages
-
依賴本地package工程
-
2. 可以使用相對(duì)路徑
1. 相對(duì)的是pubspec文件的路徑
3. 包含path依賴的工程無(wú)法上傳到pub.dev贸人,必須去除path依賴
dev_dependencies
開發(fā)使用的依賴,例如test佃声、代碼生成
dependency_overrides
- 用于臨時(shí)替換依賴
-
替換為本地工程
-
替換為其他版本
environment
- 指定支持的sdk版本
-
約束dart sdk 版本
- 約束Flutter sdk版本
-
從Dart 1.19.0開始, pub支持在environment下設(shè)置Flutter SDK約束
-
executables
- 可選項(xiàng)
- 設(shè)置可以直接從命令行執(zhí)行的腳本
- 申明可執(zhí)行腳本:用key:value格式填寫艺智,如果不指定value會(huì)根據(jù)key推斷
-
slidy對(duì)應(yīng)bin/main.dart. fvm自動(dòng)推薦為bin/fvm.dart
-
publish_to
- 可選項(xiàng)
- 設(shè)置發(fā)布包的地址