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 命令如下 -

先生编号 命令与说明
1

'酒吧得到'

帮助获取您的应用程序所依赖的所有包。

2

“酒吧升级”

将所有依赖项升级到更新版本。

3

“酒吧建设”

这用于构建您的 Web 应用程序,它将创建一个构建文件夹,其中包含所有相关脚本。

4

“酒吧帮助”

这将为您提供所有不同 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 命令,如下所示。

酒吧获取命令

下载的包及其依赖包可以在packages文件夹下进行验证。

套餐

现在安装完成了,我们需要引用项目中的dart xml 。语法如下 -

将“package:xml/xml.dart”导入为 xml;

读取 XML 字符串

为了读取 XML 字符串并验证输入,Dart XML 使用parse()方法。语法如下 -

xml.parse(String input):

示例:解析 XML 字符串输入

以下示例显示如何解析 XML 字符串输入 -

将“package:xml/xml.dart”导入为 xml;
无效主(){
   打印(“xml”);
   var bookshelfXml = '''<?xml 版本 = "1.0"?>
   <书架>
      <书>
         <title lang = "english">发展一门语言</title>
         <价格>29.99</价格>
      </书>
      
      <书>
         <title lang = "english">学习 XML</title>
         <价格>39.95</价格>
      </书>
      <价格>132.00</价格>
   </书架>''';
   
   var document = xml.parse(bookshelfXml);
   打印(文档.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>