我是靠谱客的博主 整齐小天鹅,最近开发中收集的这篇文章主要介绍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 创建私有公共插件的资料请关注靠谱客其它相关文章!

最后

以上就是整齐小天鹅为你收集整理的Flutter 创建私有公共插件的步骤的全部内容,希望文章能够帮你解决Flutter 创建私有公共插件的步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(106)

评论列表共有 0 条评论

立即
投稿
返回
顶部