[英]Dart package layout
我剛剛閱讀了Dart建議的packagout布局規范,並提出了一些問題:
lib
目錄。 但是運行pub get
或pub upgrade
會將這些包提取到packages
目錄中。 那是哪個?!? 我應該運行pub get
,將包下拉到packages
,然后手動將它們復制到lib
? 這似乎效率低下! lib
,但是內部包(不是API的一部分)應該放在lib/src
。 因此,如果我的項目依賴於一些名為transmogrify
第三方軟件包,我怎么知道哪些transmogrify
軟件包是公共API的一部分,應該放在lib
,哪些是“私有的”,應該放在lib/src
? 這看起來很乏味! main()
方法嗎? 為什么/為什么不呢? packages/**
build/**
(由pub build
) pubspec.lock
1)您不將第三方軟件包放入lib目錄。
如果要構建可重用的庫包,請將構建庫的文件放在lib目錄中。
第三方包僅在pubspec.yaml
文件的dependencies
或dev_dependencies
部分中pubspec.yaml
。 其余的由pub
維護。
2)應部分回答1)。 您將庫包的公共表面放入lib中。 不應作為公共API公開的庫內部可以/應該進入lib子目錄。
3)我認為這取決於你如何指定Dart應用程序。 Dart包當然可以有幾個主要功能。 您不能在web目錄中有更多的條目頁面,每個條目都有一個main。
你可以在bin,test,example中有更多的Dart腳本文件,其中每個文件都有一個main。
您可以通過在瀏覽器中打開一個入口頁面或使用dart myscript.dart
運行腳本文件來啟動應用程序,這樣就可以明確定義調用的內容。
4)
pub *
)
我不知何故給你的印象是你混淆了庫和包的概念。 只是為了澄清:你可以在包裝里面放置多個庫。 如果要使用它們,您可以(或必須)單獨導入包的各個庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.