Dart 程式設計 - 包



包是一種封裝一組程式設計單元的機制。應用程式有時可能需要整合一些第三方庫或外掛。每種語言都有一種管理外部包的機制,例如 Java 的 Maven 或 Gradle,.NET 的 Nuget,Node.js 的 npm 等。Dart 的包管理器是pub

Pub 幫助在儲存庫中安裝包。託管包的儲存庫可以在 https://pub.dartlang.org/ 找到。

包元資料定義在一個名為pubspec.yaml的檔案中。YAML 是Yet Another Markup Language的首字母縮寫。pub工具可用於下載應用程式所需的所有各種庫。

每個 Dart 應用程式都有一個pubspec.yaml檔案,其中包含應用程式對其他庫的依賴項以及應用程式的元資料,例如應用程式名稱、作者、版本和描述。

pubspec.yaml檔案的內容可能如下所示:

name: 'vector_victor' 
version: 0.0.1 
description: An absolute bare-bones web app. 
... 
dependencies: browser: '>=0.10.0 <0.11.0' 

重要的pub 命令如下:

序號 命令和說明
1

‘pub get’

幫助獲取應用程式依賴的所有包。

2

‘pub upgrade’

將所有依賴項升級到較新版本。

3

‘pub build’

用於構建 Web 應用程式,它將建立一個 build 資料夾,其中包含所有相關的指令碼。

4

‘pub help’

這將為您提供所有不同 pub 命令的幫助。

如果您使用的是 WebStorm 等 IDE,則可以右鍵單擊 pubspec.yaml 以直接獲取所有命令:

Pubspec.yaml

安裝包

考慮一個應用程式需要解析 XML 的示例。Dart XML 是一個輕量級庫,它是開源且穩定的,用於解析、遍歷、查詢和構建 XML 文件。

實現上述任務的步驟如下:

步驟 1 - 將以下內容新增到 pubspec.yaml 檔案中。

name: TestApp 
version: 0.0.1 
description: A simple console application. 
#dependencies: 
#  foo_bar: '>=1.0.0 <2.0.0' 
dependencies: https://mail.google.com/mail/u/0/images/cleardot.gif
xml: 

右鍵單擊pubspec.yaml並獲取依賴項。這將在內部觸發pub get 命令,如下所示。

Pub Get Command

下載的包及其依賴包可以在 packages 資料夾下進行驗證。

Packages

由於安裝已完成,現在我們需要在專案中引用dart xml。語法如下:

import 'package:xml/xml.dart' as xml;

讀取 XML 字串

為了讀取 XML 字串並驗證輸入,Dart XML 使用parse()方法。語法如下:

xml.parse(String input):

示例:解析 XML 字串輸入

以下示例顯示如何解析 XML 字串輸入:

import 'package:xml/xml.dart' as xml; 
void main(){ 
   print("xml"); 
   var bookshelfXml = '''<?xml version = "1.0"?> 
   <bookshelf> 
      <book> 
         <title lang = "english">Growing a Language</title> 
         <price>29.99</price> 
      </book> 
      
      <book> 
         <title lang = "english">Learning XML</title> 
         <price>39.95</price> 
      </book> 
      <price>132.00</price> 
   </bookshelf>'''; 
   
   var document = xml.parse(bookshelfXml); 
   print(document.toString()); 
}

它應該產生以下輸出

xml 
<?xml version = "1.0"?><bookshelf> 
   <book> 
      <title lang = "english">Growing a Language</title> 
      <price>29.99</price> 
   </book> 

   <book> 
      <title lang = "english">Learning XML</title> 
      <price>39.95</price> 
   </book> 
   <price>132.00</price> 
</bookshelf> 
廣告