Flutter 創(chuàng)建私有公共插件的步驟
創(chuàng)建package
通過以下命令行創(chuàng)建一個(gè)package
flutter create --template=package plugins
創(chuàng)建演示代碼(可選)
在test文件中,對(duì)存dart庫進(jìn)行單元測試,但是在涉及頁面等功能,需要有一個(gè)demo,需要在工程內(nèi)部創(chuàng)建一個(gè)demo。
如果要發(fā)布到公有pub上,需要寫上示例代碼,方便別人知道如何使用。
cd plugins flutter create example
得到的目錄結(jié)構(gòu)如下所示:
|____CHANGELOG.md |____LICENSE |____README.md |____example |____lib | |____common | | |____not_found.dart | |____components | | |____app_bar_factory.dart | |____plugins.dart | |____routers | | |____route_manager.dart |____plugins.iml |____pubspec.lock |____pubspec.yaml |____test | |____plugins_test.dart
說明:
- CHANGELOG.md 每次版本發(fā)布修改日志,可以進(jìn)行維護(hù)
- LICENSE 開源庫,所屬開源協(xié)議
- README.md 庫的介紹
- example 測試項(xiàng)目,可以在example - pubspec.yaml 中,對(duì)引入目標(biāo)庫
- lib 庫實(shí)現(xiàn)文件目錄,默認(rèn)為公開目錄,其他庫可以直接使用。實(shí)現(xiàn)代碼放在lib/src目錄(目錄也可以自定義,自定義目錄時(shí)需要指明引用哪個(gè)目錄的代碼)中,該目錄為私有的,需要在lib目錄下進(jìn)行導(dǎo)出。
- pubspec.yaml 包配置文件
plugins工程配置
打開pubspec.yaml,對(duì)庫進(jìn)行配置,需要完善全部信息。
name: plugins // 與項(xiàng)目名稱保持一致 description: A new Flutter package project. // 庫的介紹 version: 0.0.1 // 版本號(hào) author: // 作者 homepage: // 庫的主頁
然后,對(duì)庫文件增加實(shí)現(xiàn)類,并導(dǎo)出至lib。lib中創(chuàng)建了如下源碼文件:
- routers:route_manager.dart
- components:app_bar_factory.dart
- common: not_found.dart
在plugins.dart文件中增加對(duì)實(shí)現(xiàn)文件的導(dǎo)出。
library plugins; export 'package:plugins/routers/route_manager.dart'; export 'package:plugins/components/app_bar_factory.dart'; export 'package:plugins/common/not_found.dart';
本地引入
在其他工程中的pubspec.yaml中通過path引入本地包(如果發(fā)布到pub,可以用pub引入),同時(shí)應(yīng)當(dāng)引入本地包依賴的其他包,如本例中的fluro。注意path可以是相對(duì)路徑也可以是絕對(duì)路徑。對(duì)于協(xié)作的項(xiàng)目,建議放到相對(duì)路徑或通過git引入。
dependencies: flutter: sdk: flutter plugins: path: ../plugins/ fluro: ^1.6.3
編寫Example
在example目錄的pubspec.yaml中通過path引入寫好的package,編寫示例代碼。
dependencies: flutter: sdk: flutter demo: path : ../
發(fā)布到pub(公有資源)
pub publish
私有資源建議發(fā)布到自有的git倉庫,然后通過git引入即可。
以上就是Flutter 創(chuàng)建私有公共插件的步驟的詳細(xì)內(nèi)容,更多關(guān)于Flutter 創(chuàng)建私有公共插件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android編程實(shí)現(xiàn)的一鍵鎖屏程序詳解
這篇文章主要介紹了Android編程實(shí)現(xiàn)的一鍵鎖屏程序,結(jié)合實(shí)例形式詳細(xì)分析了Android一鍵鎖屏的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10Android鬧鈴服務(wù)AlarmManager用法深入分析
這篇文章主要介紹了Android鬧鈴服務(wù)AlarmManager用法,結(jié)合實(shí)例形式深入分析了鬧鈴服務(wù)AlarmManager的功能、原理、定義與使用方法,需要的朋友可以參考下2016-08-08Android使用surfaceView自定義抽獎(jiǎng)大轉(zhuǎn)盤
這篇文章主要為大家詳細(xì)介紹了Android使用surfaceView自定義抽獎(jiǎng)大轉(zhuǎn)盤,熟練掌握SurfaceVie實(shí)現(xiàn)抽獎(jiǎng)大轉(zhuǎn)盤,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Rxjava2_Flowable_Sqlite_Android數(shù)據(jù)庫訪問實(shí)例
下面小編就為大家分享一篇Rxjava2_Flowable_Sqlite_Android數(shù)據(jù)庫訪問實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02android實(shí)現(xiàn)QQ微信側(cè)滑刪除效果
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)QQ微信側(cè)滑刪除效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android中實(shí)現(xiàn)圖文并茂的按鈕實(shí)例代碼
這篇文章主要介紹了Android中實(shí)現(xiàn)圖文并茂的按鈕實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),需要的朋友可以參考下2017-04-04Android dataBinding與ListView及事件詳解
這篇文章主要介紹了Android dataBinding與ListView及事件詳解的相關(guān)資料,需要的朋友可以參考下2016-10-10解決VSCode調(diào)試react-native android項(xiàng)目錯(cuò)誤問題
這篇文章主要介紹了VSCode調(diào)試react-native android項(xiàng)目錯(cuò)誤解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12