9. 在dart中使用packages
简介
java中使用jar包来封装有用的功能,然后将其分发到maven仓库中,供其他人使用。同样的在dart中也有类似的概念叫做packages。packages就是可以用来共享的软件包,可以包含libraries和tools。
你可以在pub.dev网站中查到dart中所有的共享packages的信息。 那么怎么在一个dart项目中使用这些packages呢?
pubspec.yaml
简单点讲,一个dart的package就是包含pubspec.yaml的目录。pubspec.yaml是一个描述文件,用来表明该package的元信息,包括当前package的名字,版本号和依赖信息等。
要想使用pub.dev上的packages,只需要在pubspec.yaml引入对应的依赖即可。
我们举个例子:
name: app2
description: a demo app
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
image_picker: ^0.6.7+22
video_player: ^0.10.12+5
这里我们的引入了两个依赖包,分别是image_picker和video_player。
get packages
当我们修改了pubspec.yaml之后,其实对应的package并没有下载到本地来,还需要通过下面的命令来下载对应的packages:
cd <path-to-my_app>
dart pub get
dart pub get会根据pubspec.yaml中配置的内容下载对应的包,并放置在系统缓存中。
在Mac或者Linux系统中,这个缓存目录的地址是:~/.pub-cache,在windows中这个目录地址是:%LOCALAPPDATA%\Pub\Cache。
当然,你也可以通过设置PUB_CACHE来更换这个地址。
如果你依赖的包又依赖其他的包的话,其他依赖包也会被下载下来。
当下载完依赖包之后,dart会在 .dart_tool/目录中创建一个 package_config.json文件,用来表示当前项目和系统缓存包的映射关系。
使用packages
万事俱备,只欠东风。现在包也有了,剩下就是使用了。
使用libary可以用关键字import。如果是dart SDK中的包,则以dart:开头:
import 'dart:html';