日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

dart系列之:在dart中使用packages

發(fā)布時(shí)間:2024/2/28 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dart系列之:在dart中使用packages 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 簡(jiǎn)介
  • pubspec.yaml
  • get packages
  • 使用packages
  • 升級(jí)依賴
  • 總結(jié)

簡(jiǎn)介

java中使用jar包來(lái)封裝有用的功能,然后將其分發(fā)到maven倉(cāng)庫(kù)中,供其他人使用。同樣的在dart中也有類似的概念叫做packages。packages就是可以用來(lái)共享的軟件包,可以包含libraries和tools。

你可以在pub.dev網(wǎng)站中查到dart中所有的共享packages的信息。 那么怎么在一個(gè)dart項(xiàng)目中使用這些packages呢?

pubspec.yaml

簡(jiǎn)單點(diǎn)講,一個(gè)dart的package就是包含pubspec.yaml的目錄。pubspec.yaml是一個(gè)描述文件,用來(lái)表明該package的元信息,包括當(dāng)前package的名字,版本號(hào)和依賴信息等。

要想使用pub.dev上的packages,只需要在pubspec.yaml引入對(duì)應(yīng)的依賴即可。

我們舉個(gè)例子:

name: app2 description: a demo app version: 1.0.0+1environment:sdk: ">=2.7.0 <3.0.0"dependencies:image_picker: ^0.6.7+22video_player: ^0.10.12+5

這里我們的引入了兩個(gè)依賴包,分別是image_picker和video_player。

get packages

當(dāng)我們修改了pubspec.yaml之后,其實(shí)對(duì)應(yīng)的package并沒(méi)有下載到本地來(lái),還需要通過(guò)下面的命令來(lái)下載對(duì)應(yīng)的packages:

cd <path-to-my_app>dart pub get

dart pub get會(huì)根據(jù)pubspec.yaml中配置的內(nèi)容下載對(duì)應(yīng)的包,并放置在系統(tǒng)緩存中。

在Mac或者Linux系統(tǒng)中,這個(gè)緩存目錄的地址是:~/.pub-cache,在windows中這個(gè)目錄地址是:%LOCALAPPDATA%\Pub\Cache。

當(dāng)然,你也可以通過(guò)設(shè)置PUB_CACHE來(lái)更換這個(gè)地址。

如果你依賴的包又依賴其他的包的話,其他依賴包也會(huì)被下載下來(lái)。

當(dāng)下載完依賴包之后,dart會(huì)在 .dart_tool/目錄中創(chuàng)建一個(gè) package_config.json文件,用來(lái)表示當(dāng)前項(xiàng)目和系統(tǒng)緩存包的映射關(guān)系。

使用packages

萬(wàn)事俱備,只欠東風(fēng)。現(xiàn)在包也有了,剩下就是使用了。

使用libary可以用關(guān)鍵字import。如果是dart SDK中的包,則以dart:開(kāi)頭:

import 'dart:html';

如果是第三方包,則以package: 開(kāi)頭:

import 'package:test/test.dart';

引入的libary還可以被重命名:

import 'package:lib1/lib1.dart'; import 'package:lib2/lib2.dart' as lib2;// Uses Element from lib1. Element element1 = Element();// Uses Element from lib2. lib2.Element element2 = lib2.Element();

還可以使用show和hide引入部分library:

// Import only foo. import 'package:lib1/lib1.dart' show foo;// Import all names EXCEPT foo. import 'package:lib2/lib2.dart' hide foo;

默認(rèn)情況下,引入的包是初始加載的,如果某些包特別大,或者你想要在使用的時(shí)候再進(jìn)行加載,則可以使用deferred關(guān)鍵字進(jìn)行延時(shí)加載:

import 'package:greetings/hello.dart' deferred as hello;

在使用的時(shí)候,需要顯示調(diào)用loadLibrary() 方法,來(lái)加載對(duì)應(yīng)的library:

Future<void> greet() async {await hello.loadLibrary();hello.printGreeting(); }

升級(jí)依賴

在第一次運(yùn)行dart pub get 之后,dart會(huì)創(chuàng)建一個(gè)pubspec.lock文件,用來(lái)鎖定依賴包的版本號(hào),如果是在團(tuán)隊(duì)協(xié)作中,這個(gè)lock文件是特別有用的,它可以保證團(tuán)隊(duì)中所有成員使用的都是同一個(gè)版本的依賴包。

當(dāng)你想升級(jí)對(duì)應(yīng)的依賴的時(shí)候,可以使用dart pub upgrade命令,對(duì)依賴包進(jìn)行升級(jí)。

dart pub upgrade會(huì)根據(jù)最新的可用包來(lái)生成最新的lock文件。

當(dāng)然,你也可以指定升級(jí)某個(gè)特定的依賴包:

dart pub upgrade image_picker

要想查看最新依賴包的最新版本,可以使用:

dart pub outdated

總結(jié)

以上就是dart中packages的使用。

本文已收錄于 http://www.flydean.com/09-dart-packages/

最通俗的解讀,最深刻的干貨,最簡(jiǎn)潔的教程,眾多你不知道的小技巧等你來(lái)發(fā)現(xiàn)!

歡迎關(guān)注我的公眾號(hào):「程序那些事」,懂技術(shù),更懂你!

總結(jié)

以上是生活随笔為你收集整理的dart系列之:在dart中使用packages的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。