当前位置: 首页 > 后端技术 > Java

Dart系列:dart中包的使用介绍

时间:2023-04-02 00:26:21 Java

Java使用jar包封装好用的功能,然后分发到maven仓库供其他人使用。同样,在dart中也有一个类似的概念叫packages。包是可以共享的软件包,可以包含库和工具。您可以在pub.dev网站上找到有关dart中所有共享包的信息。那么如何在dart项目中使用这些包呢?pubspec.yaml简单来说,一个dart包就是包含pubspec.yaml的目录。pubspec.yaml是一个描述文件,用来表示包的元信息,包括当前包名、版本号和依赖信息。要使用pub.dev上的包,只需要在pubspec.yaml中引入相应的依赖即可。举个例子:name:app2description:ademoappversion:1.0.0+1environment:sdk:">=2.7.0<3.0.0"dependencies:image_picker:^0.6.7+22video_player:^0.10.12+5这里我们引入了两个依赖包,分别是image_picker和video_player。getpackages当我们修改pubspec.yaml时,本地并没有下载相应的包,需要通过以下命令下载相应的包:cddartpubgetdartpubget会根据pubspec.yaml中配置的内容下载对应的包,放在系统缓存中。在Mac或Linux系统中,该缓存目录的地址为:~/.pub-cache,在Windows中,该目录的地址为:%LOCALAPPDATA%\Pub\Cache。当然你也可以通过设置PUB_CACHE来改变这个地址。如果你依赖的包依赖于其他包,那么其他依赖包也会被下载。下载依赖包后,dart会在.dart_tool/目录下创建一个package_config.json文件,表示当前项目与系统缓存包的映射关系。#Usepackages万事俱备,只欠东风。现在包已经可用,剩下的就是使用它了。使用libary可以使用关键字import。如果是dartSDK中的包,则以dart::import'dart:html'开头;如果是第三方包,则从package::import'package:test/test.dart'开始;导入的库也可以使用Rename:import'package:lib1/lib1.dart';import'package:lib2/lib2.dart'aslib2;//使用来自lib1.Element的元素element1=Element();//使用来自lib2.lib2的元素。元素element2=lib2.Element();您还可以使用show和hide导入零件库://Importonlyfoo.import'package:lib1/lib1.dart'showfoo;//ImportallnamesEXCEPTfoo.import'package:lib2/lib2.dart'hide富;默认情况下,首先加载导入的包,如果某些包特别大,或者想在使用时加载,可以使用deferred关键字进行延迟加载:import'package:greetings/hello.dart'deferredas你好;使用时需要显式调用loadLibrary()方法加载相应库:Futuregreet()async{awaithello.loadLibrary();hello.printGreeting();}升级依赖第一次运行dartpubget后,dart会创建一个pubspec.lock文件来锁定依赖包的版本号。如果是在团队协作中,这个锁文件就特别有用了,它可以保证团队的所有成员都在使用同一个版本的依赖包。当你想升级相应的依赖时,可以使用dartpubupgrade命令升级依赖包。dartpubupgrade会根据最新的可用包生成最新的锁文件。当然也可以指定升级特定的依赖包:dartpubupgradeimage_picker查看最新依赖包的最新版本,可以使用:dartpuboutdated总结以上就是dart中packages的使用。本文已收录于http://www.flydean.com/09-dart-packages/最流行的解读,最深刻的干货,最简洁的教程,很多你不知道的小技巧等着你去探索!欢迎关注我的公众号:《程序那些事儿》,懂技术,更懂你!