创建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 创建私有公共插件的资料请关注自学编程网其它相关文章!
- 本文固定链接: https://zxbcw.cn/post/212257/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)