Flutter 創(chuàng)建私有公共插件的步驟
創(chuàng)建package
通過以下命令行創(chuàng)建一個package
flutter create --template=package plugins
創(chuàng)建演示代碼(可選)
在test文件中,對存dart庫進行單元測試,但是在涉及頁面等功能,需要有一個demo,需要在工程內(nèi)部創(chuàng)建一個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ā)布修改日志,可以進行維護
- LICENSE 開源庫,所屬開源協(xié)議
- README.md 庫的介紹
- example 測試項目,可以在example - pubspec.yaml 中,對引入目標(biāo)庫
- lib 庫實現(xiàn)文件目錄,默認(rèn)為公開目錄,其他庫可以直接使用。實現(xiàn)代碼放在lib/src目錄(目錄也可以自定義,自定義目錄時需要指明引用哪個目錄的代碼)中,該目錄為私有的,需要在lib目錄下進行導(dǎo)出。
- pubspec.yaml 包配置文件
plugins工程配置
打開pubspec.yaml,對庫進行配置,需要完善全部信息。
name: plugins // 與項目名稱保持一致 description: A new Flutter package project. // 庫的介紹 version: 0.0.1 // 版本號 author: // 作者 homepage: // 庫的主頁
然后,對庫文件增加實現(xiàn)類,并導(dǎo)出至lib。lib中創(chuàng)建了如下源碼文件:
- routers:route_manager.dart
- components:app_bar_factory.dart
- common: not_found.dart
在plugins.dart文件中增加對實現(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引入),同時應(yīng)當(dāng)引入本地包依賴的其他包,如本例中的fluro。注意path可以是相對路徑也可以是絕對路徑。對于協(xié)作的項目,建議放到相對路徑或通過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)建私有公共插件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android鬧鈴服務(wù)AlarmManager用法深入分析
這篇文章主要介紹了Android鬧鈴服務(wù)AlarmManager用法,結(jié)合實例形式深入分析了鬧鈴服務(wù)AlarmManager的功能、原理、定義與使用方法,需要的朋友可以參考下2016-08-08Android使用surfaceView自定義抽獎大轉(zhuǎn)盤
這篇文章主要為大家詳細(xì)介紹了Android使用surfaceView自定義抽獎大轉(zhuǎn)盤,熟練掌握SurfaceVie實現(xiàn)抽獎大轉(zhuǎn)盤,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12Rxjava2_Flowable_Sqlite_Android數(shù)據(jù)庫訪問實例
下面小編就為大家分享一篇Rxjava2_Flowable_Sqlite_Android數(shù)據(jù)庫訪問實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02Android dataBinding與ListView及事件詳解
這篇文章主要介紹了Android dataBinding與ListView及事件詳解的相關(guān)資料,需要的朋友可以參考下2016-10-10解決VSCode調(diào)試react-native android項目錯誤問題
這篇文章主要介紹了VSCode調(diào)試react-native android項目錯誤解決辦法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12