文章

Dart-发布库

探寻怎么提供一个公共组件依赖调用

Dart-发布库

Dart语言详解

前言

类似android的自定义控件,flutter也提供了仓库供开发者上传各种自定义功能,我们就一起来探寻怎么提供一个公共组件依赖调用

发布流程

step1 :创建一个Flutter Package

我们在AS中new出一个flutter package 起个名字选个路径就搞定 或者使用命令

1
flutter create --template=package frame_animate_widget

这将在frame_animate_widget/文件夹下创建一个具有以下专用内容的 package工程:

  • lib/frame_animate_widget.dart: Package的Dart代码
  • test/frame_animate_widget_test.dart: Package的单元测试代码.

创建一个Flutter package

此时我们的工程目录是这样的

创建后的目录结构

step2 :实现包 package

对于纯Dart包,只需在主lib/.dart文件内或lib目录中的文件中添加功能 。也就是说我们的package 需要frame_animate_widget.dart 这个文件,否则发布的时候会遇到问题 此时我们来实现一个帧动画的widget

step3:整理文档

发布的功能Dart包是让别人使用的 此时我们需要详细的文档

建议将以下文档添加到所有软件包:当然没有也无所谓

  • CHANGELOG.md 记录每个版本中的更改
  • LICENSE 包含软件包许可条款的文件
  • README.md 介绍包的文件
  • 所有公共API的API文档 ,在发布软件包时,API文档会自动生成并发布到dartdocs.org

此时所有的工作已经就绪,可以开始发布了

step4:发布

一旦你实现了一个包,你可以在Pub上发布它 ,这样其他开发人员就可以轻松使用它

在发布之前,检查pubspec.yaml、README.md以及CHANGELOG.md文件,以确保其内容的完整性和正确性。

然后, 运行 dry-run 命令以查看是否都准备OK了:

在工程目录下执行flutter packages pub publish --dry-run命令

1
2
3
4
5
6
7
8
9
10
11
12
13
➜ frame_animate_widget flutter packages pub publish --dry-run
Publishing frame_animate_widget 1.0.0 to https://pub.dartlang.org:
|-- CHANGELOG.md
|-- LICENSE
|-- README.md
|-- frame_animate_widget.iml
|-- lib
|   '-- frame_animate_widget.dart
|-- pubspec.yaml
'-- test
    '-- frame_animate_widget_test.dart

Package has 0 warnings.

最后, 运行发布命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
➜  frame_animate_widget flutter packages pub publish

Publishing frame_animate_widget 1.0.0 to https://pub.dartlang.org:
|-- CHANGELOG.md
|-- LICENSE
|-- README.md
|-- frame_animate_widget.iml
|-- lib
|   '-- frame_animate_widget.dart
|-- pubspec.yaml
'-- test
    '-- frame_animate_widget_test.dart
Suggestions:
* Your pubspec.yaml includes an "author" section which is no longer used and may be removed.

Package has 1 warning. Upload anyway (y/n)? y
Pub needs your authorization to upload packages on your behalf.
In a web browser, go to https://accounts.google.com/o/oauth2/auth?access_type=offline%2F$$$$$##################www.googleapis.com%2Fauth%2Fuserinfo.email
Then click "Allow access".

如果是第一次发布 你需要登录一下账号授权 复制链接 浏览器打开授权

1
2
3
4
5
Waiting for your authorization...
Authorization received, processing...
Successfully authorized.
Uploading...
Successfully uploaded package.

Ok 至此 你已经将你的库上传至Pub

本文由作者按照 CC BY 4.0 进行授权