摘要:有兩種依賴(lài)信息,一種是所有使用到這個(gè)的人都需要用到的依賴(lài),這種依賴(lài)放在中。還有一種是只用在當(dāng)前開(kāi)發(fā)中的包,這種依賴(lài)放在中。在某些情況下,我們有可能需要覆蓋某些依賴(lài)包,則可以放在中。從之后,中還支持指定的版本總結(jié)總結(jié)以上就是的元世界詳解。
?
?
pubspec.yaml是所有dart項(xiàng)目的靈魂,它包含了所有dart項(xiàng)目的依賴(lài)信息和其他元信息,所以pubspec.yaml就是dart項(xiàng)目的meta!
根據(jù)dart的定義,pubspec.yaml中可以包含下面的字段:
字段名 | 是否必須字段 | 描述 |
---|---|---|
name | 是 | package的名字 |
version | 如果發(fā)布到pub.dev,則需要 | package的版本號(hào) |
description | 如果發(fā)布到pub.dev,則需要 | package的描述信息 |
homepage | 否 | package的主頁(yè) |
repository | 否 | package的源代碼地址 |
issue_tracker | 否 | package問(wèn)題跟蹤地址 |
documentation | 否 | package的文檔信息 |
dependencies | 否 | package的依賴(lài)信息 |
dev_dependencies | 否 | pacakge的dev依賴(lài)信息 |
dependency_overrides | 否 | 想要覆蓋的package |
environment | dart2需要 | ? |
executables | 否 | package的可執(zhí)行文件路徑 |
publish_to | 否 | package將如何發(fā)布 |
注意,以上是dart中pubspec.yaml支持的字段,如果是在flutter環(huán)境中,則會(huì)有些額外支持的字段。
我們看一個(gè)具體的例子:
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"
下面來(lái)看下各個(gè)字段的詳情和限制情況:
name表示的是包的名字,name必須是全小寫(xiě),如果有多個(gè)詞的話(huà),可以用下劃線(xiàn)來(lái)區(qū)分,如:my_app.
并且只能使用小寫(xiě)字母和數(shù)字的組合,同時(shí)不能以數(shù)字開(kāi)頭,并且不要使用dart中的保留字。
Version表示的是版本號(hào),版本號(hào)是由點(diǎn)分割的三個(gè)數(shù)字,如:11.15.0. 后面還可以跟上build版本號(hào):+1, +2, +hotfix.oopsie, 或者預(yù)發(fā)布版本等:-dev.4, -alpha.12, -beta.7, -rc.5.
package的描述信息最好使用英文來(lái)描寫(xiě),長(zhǎng)度是60 到180個(gè)字符,表示這個(gè)包的作用。
有兩種依賴(lài)信息,一種是所有使用到這個(gè)packages的人都需要用到的依賴(lài),這種依賴(lài)放在dependencies中。
還有一種是只用在當(dāng)前pacakge開(kāi)發(fā)中的包,這種依賴(lài)放在dev_dependencies中。
在某些情況下,我們有可能需要覆蓋某些依賴(lài)包,則可以放在:dependency_overrides中。
有些pacakges提供的是工具供大家使用,這些工具有可能是命令行工具,所以需要在executables中指定可以執(zhí)行的命令的路徑。
比如下面的配置:
executables: slidy: main fvm:
那么在執(zhí)行pub global activate之后,就可以在全局執(zhí)行slidy來(lái)執(zhí)行bin/main.dart, 和fvm來(lái)執(zhí)行binfvm.dart.
因?yàn)镈art是一門(mén)新的語(yǔ)言,所以目前來(lái)說(shuō)其變動(dòng)還是挺大的。所以有些應(yīng)用可以依賴(lài)于不同的dart版本,這時(shí)候就需要用到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/
最通俗的解讀,最深刻的干貨,最簡(jiǎn)潔的教程,眾多你不知道的小技巧等你來(lái)發(fā)現(xiàn)!
歡迎關(guān)注我的公眾號(hào):「程序那些事」,懂技術(shù),更懂你!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/123986.html
摘要:布局控件不會(huì)直接呈現(xiàn)內(nèi)容,可看作承載可視控件的容器。布局控件也是可以模擬顯示的,通常用于調(diào)試布局樣式時(shí)用到的網(wǎng)格線(xiàn)標(biāo)尺動(dòng)畫(huà)幀等。但是當(dāng)頁(yè)面內(nèi)容需要超出屏幕尺寸時(shí),就用和代替。 不知不覺(jué)已經(jīng)到了第7篇,然而很多萌新玩家可能還是不知道如何堆砌控件,像用CSS一樣搭出漂亮的APP界面,我也一樣,紅紅火火恍恍惚惚,直到今天含淚讀完Flutter布局基礎(chǔ),仿佛打開(kāi)了一個(gè)全新的世界。 基本概念 在...
摘要:掌握可能是前端開(kāi)發(fā)者翻盤(pán)的唯一機(jī)會(huì)。是開(kāi)發(fā)必須的代碼庫(kù)。區(qū)別與應(yīng)用,我們導(dǎo)入的是庫(kù)而非,這是因?yàn)槟壳暗慕涌诓⒎呛偷耐耆ㄓ茫贿^(guò)隨著谷歌開(kāi)發(fā)的繼續(xù),它們最終會(huì)被合并到一塊。 Flutter是一種新型的客戶(hù)端技術(shù)。它的最終目標(biāo)是替代包含幾乎所有平臺(tái)的開(kāi)發(fā):iOS,Android,Web,桌面;做到了一次編寫(xiě),多處運(yùn)行。掌握Flutter web可能是Web前端開(kāi)發(fā)者翻盤(pán)的唯一機(jī)會(huì)。 show...
摘要:繼上一篇關(guān)于的介紹,是仿照微信界面,因?yàn)樽鳛榍岸碎_(kāi)發(fā),有一定的基礎(chǔ),所有寫(xiě)起來(lái),也不是很吃力。班門(mén)弄斧之作,若有大神見(jiàn)到,敬請(qǐng)指教,有不對(duì)不合理之處,敬請(qǐng)指出我是邇伶貳環(huán)境準(zhǔn)備以系統(tǒng)為例。 flutter的入門(mén)記錄 0.前言: flutter 的入門(mén)demo 已經(jīng)寫(xiě)好一個(gè)星期了,只不過(guò)一直都沒(méi)有整理出博客來(lái)。收拾好心情,來(lái)整理一下。繼上一篇關(guān)于react-native-wx的介紹,是仿...
閱讀 1125·2021-11-24 10:21
閱讀 2561·2021-11-19 11:35
閱讀 1661·2019-08-30 15:55
閱讀 1292·2019-08-30 15:54
閱讀 1192·2019-08-30 15:53
閱讀 3498·2019-08-29 17:21
閱讀 3307·2019-08-29 16:12
閱讀 3412·2019-08-29 15:23