📜  Dart编程-软件包

📅  最后修改于: 2020-11-05 04:23:38             🧑  作者: Mango


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

Pub帮助将软件包安装在资源库中。托管软件包的存储库可在https://pub.dartlang.org/中找到

包元数据pubsec.yaml文件中定义。 YAML是另一种标记语言的缩写。 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 Command & Description
1

‘pub get’

Helps to get all packages your application is depending on.

2

‘pub upgrade’

Upgrades all your dependencies to a newer version.

3

‘pub build’

This s used for building your web application and it will create a build folder , with all related scripts in it.

4

‘pub help’

This will give you help for all different pub commands.

如果您使用的是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 。语法如下-

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 = ''' 
    
       
         Growing a Language 
         29.99 
       
      
       
         Learning XML 
         39.95 
       
      132.00 
   '''; 
   
   var document = xml.parse(bookshelfXml); 
   print(document.toString()); 
}

它应该产生以下输出

xml 
 
    
      Growing a Language 
      29.99 
    

    
      Learning XML 
      39.95 
    
   132.00