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> 
广告