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