Dart 编程 - 包

包是一种封装一组编程单元的机制。应用程序有时可能需要集成一些第三方库或插件。每种语言都有一种管理外部包的机制,例如 Java 的 Maven 或 Gradle、.NET 的 Nuget、Node.js 的 npm 等。Dart 的包管理器是 pub

Pub 有助于在存储库中安装包。托管包的存储库可在 https://pub.dartlang.org/.

找到。

包元数据在文件 pubsec.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 命令如下 −

Sr.No 命令 &描述
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 − 将以下内容添加到 pubsec.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: 

右键单击 pubsec.yaml 并获取依赖项。这将在内部触发 pub get 命令,如下所示。

Pub Get 命令

可以在 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>