Flutter 創建私有公共插件的步驟

創建package

通過以下命令行創建一個package

flutter create --template=package plugins

創建演示代碼(可選)

在test文件中,對存dart庫進行單元測試,但是在涉及頁面等功能,需要有一個demo,需要在工程內部創建一個demo。
如果要發佈到公有pub上,需要寫上示例代碼,方便別人知道如何使用。

cd plugins
flutter create example

得到的目錄結構如下所示:

|____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 每次版本發佈修改日志,可以進行維護
  • LICENSE 開源庫,所屬開源協議
  • README.md 庫的介紹
  • example 測試項目,可以在example – pubspec.yaml 中,對引入目標庫
  • lib 庫實現文件目錄,默認為公開目錄,其他庫可以直接使用。實現代碼放在lib/src目錄(目錄也可以自定義,自定義目錄時需要指明引用哪個目錄的代碼)中,該目錄為私有的,需要在lib目錄下進行導出。
  • pubspec.yaml 包配置文件

plugins工程配置

打開pubspec.yaml,對庫進行配置,需要完善全部信息。

name: plugins // 與項目名稱保持一致
description: A new Flutter package project. // 庫的介紹
version: 0.0.1 // 版本號
author:            // 作者
homepage:     // 庫的主頁

然後,對庫文件增加實現類,並導出至lib。lib中創建瞭如下源碼文件:

  • routers:route_manager.dart
  • components:app_bar_factory.dart
  • common: not_found.dart

在plugins.dart文件中增加對實現文件的導出。

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引入本地包(如果發佈到pub,可以用pub引入),同時應當引入本地包依賴的其他包,如本例中的fluro。註意path可以是相對路徑也可以是絕對路徑。對於協作的項目,建議放到相對路徑或通過git引入。

dependencies:
  flutter:
    sdk: flutter
  plugins:
    path: ../plugins/
  fluro: ^1.6.3

編寫Example

在example目錄的pubspec.yaml中通過path引入寫好的package,編寫示例代碼。

dependencies:
  flutter:
    sdk: flutter

  demo:
    path : ../

發佈到pub(公有資源)

pub publish

私有資源建議發佈到自有的git倉庫,然後通過git引入即可。

以上就是Flutter 創建私有公共插件的步驟的詳細內容,更多關於Flutter 創建私有公共插件的資料請關註WalkonNet其它相關文章!

推薦閱讀: