Flutter-引入第三方依賴(lài)包

flutter.jpg

實(shí)際開(kāi)發(fā)中引入第三方的功能模塊極為常見(jiàn),也就是別人寫(xiě)好的、封裝好的實(shí)現(xiàn)特定功能的操作,這里稱(chēng)之為“包”,也可稱(chēng)為“庫(kù)”。幾乎每個(gè)平臺(tái)都有管理第三方庫(kù)的功能,比如iOS用Cocoapods或Carthage來(lái)管理依賴(lài),Node中通過(guò)npm , php使用Composer等。

Flutter中對(duì)第三方依賴(lài)的管理通過(guò)配置文件pubspec.yaml來(lái)實(shí)現(xiàn)的;該文件位于項(xiàng)目根目錄下;

2-.png

我們用到的第三方寫(xiě)在這里:

dependencies:
  flutter:
    sdk: flutter
  dio: ^3.0.0
  cupertino_icons: ^0.1.3

比如我添加了dio網(wǎng)絡(luò)請(qǐng)求的庫(kù),如上形式;具體操作如下;

1、找到我們需要的包在代碼庫(kù)中的名稱(chēng)及所需的版本號(hào):

所有的第三方都有個(gè)倉(cāng)庫(kù)來(lái)保存這些東西,我們使用就得先把它找出來(lái),這個(gè)倉(cāng)庫(kù)就在這里【https://pub.flutter-io.cn】,國(guó)內(nèi)站點(diǎn)訪問(wèn);常用的第三方功能都能在這找到。

pub_dev.png

比如,搜dio;

3dio.png

第一個(gè)就是我們所需的包,直接如上圖1設(shè)置即可;OK,這只是開(kāi)始,然后執(zhí)行

flutter pub get

get.png

獲取代碼到本地,也就是從遠(yuǎn)程倉(cāng)庫(kù)下載到本地,才能正常使用。

2、獲取第三方包

直接如圖3在Androidstudio中操作,不出意外的報(bào)錯(cuò)了;

Running "flutter pub get" in dctt_flutter...

終端一直提示這種狀態(tài),等了好久報(bào)錯(cuò)超時(shí),無(wú)法連接“pub.dartlang.org/”,這是境外的,網(wǎng)絡(luò)被墻了無(wú)法訪問(wèn);

明明在系統(tǒng)變量里配置了訪問(wèn)的國(guó)內(nèi)鏡像呢;

export PUB_HOSTED_URL=https://pub.flutter-io.cn 
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=/Users/uu/Desktop/flutter/sdk/bin:$PATH

在工具中卻不起作用;此路不通,試試命令行操作;

MacBook-Pro dctt_flutter % flutter pub get
Waiting for another flutter command to release the startup lock...

還是報(bào)錯(cuò)了,上次操作未完成被鎖住了,這個(gè)好處理;只要進(jìn)入flutter sdk 目錄,然后找到bin/cache/lockfile文件,刪除后再運(yùn)行命令,錯(cuò)誤沒(méi)了。

common.png

命令執(zhí)行完成,此時(shí)包應(yīng)該下載到本地了;pubspec.lock 文件中可以看到有包的信息;

代碼中輸入dio:如下有反應(yīng)了,這說(shuō)明包引入成功了!_!

dio2.png

3、下載的第三方包的位置

下載的代碼包去哪里了,我們的項(xiàng)目中沒(méi)有看到呀!不像iOS的那樣,直接項(xiàng)目工程下就看到下載的代碼;

順著提示路徑我們找到了這里:

path.png

居然在我們的Flutter SDK 中緩存目錄里,

dio3.png

里面兩個(gè)目錄對(duì)應(yīng)兩個(gè)鏡像地址,里面的包就是我們遠(yuǎn)程下載的,然后項(xiàng)目中直接使用,打包時(shí)直接鏈接進(jìn)來(lái)了;

終于知道包怎么回事了,下面就可以在項(xiàng)目中愉快的使用了,不知道怎么用?不知道有什么功能?都沒(méi)關(guān)系,直接去文檔描述及示例,用了幾次自然就熟悉了。

喜歡我就關(guān)注我吧,有任何問(wèn)題歡迎指導(dǎo),十分感謝!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容