目录
当前位置: 首页 > 教程 > Dart >

Dart包

精华
小牛编辑
141浏览
2023-03-14

包是一种封装一组编程单元的机制。应用程序有时可能需要集成某些第三方库或插件。每种语言都有一种机制来管理外部软件包,如Maven或Gradle for Java,Nuget for .NET,npm for Node.js等。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 pub get 获取应用程序所依赖的所有包。
2 pub upgrade 将所有依赖项升级到较新版本。
3 pub build 用于构建您的Web应用程序,它将创建一个构建文件夹,其中包含所有相关脚本。
4 pub help 将提供所有pub命令的帮助。

如果使用的是WebStorm IDE,那么可以右键单击pubspec.yaml直接获取所有命令 -

WebStorm IDE

安装包

考虑应用程序需要解析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。语法如下 -

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