Flutter(一) package的使用、开发与发布

一、package的使用

通常我们在pubspec.yaml配置需要引用的第三方库,例如:

dependencies:
  cupertino_icons: ^1.0.2

这会直接到pub.dev查找下载cupertino_icons库,指定版本:1.0.2。

pub.dev是Dart官方的仓库地址,当然我们也可以将自已写的package发布到该仓库中供别人使用。

当然,除了引用发布到它上边的库外,还可以引用发布以下几种库:

  • 私有pub仓库的packages
  • github/gitee/gitlab上边的packages
  • 未发布的本地packages

1. 引用私有pub仓库的packages

  # 通过私有仓库方式引用
  custom_package:
    hosted:
      name: custom_package          // package名称
      url: http://localhost:8080    // 私有pub仓库地址
    version: ^0.0.1                 // package版本号

2. github/gitee/gitlab等的packages

  # 通过git获取
  custom_package:
    git:
      url: https://gitee.com/wenjinzhu/flutter_package.git      // gitee仓库地址         
      path: custom_package/0.0.1                                // package存放路径,相对于根目录
      ref: master                                               // 分支

3. 未发布的本地packages

  # 直接引用未发布项目
  custom_package:
    path: ../custom_package/    相对路径(这里引用项目与package项目平级)

二、package的开发流程

  1. 有两种方式创建package工程
  • 通过flutter命令行
flutter create --template=package custom_package // custom_package为package名称,自定义
  • 通过Android Studio
    new_flutter
    new_package
  1. 对于纯Dart包,在主lib/custom_package.dart文件内或lib目录中的文件中添加功能即可

三、package的发布

  1. 在发布前,可以通过以下命令检测是否符合发布条件:
flutter packages pub publish --dry-run
  1. 确定没问题后,即可通过命令进行发布:
flutter packages pub publish
  1. 当然,在第一节提到了既然有多种引用方式,那发布也有多种方式

1. 发布到pub.dev

假如发布到pub.dev是不需要进行额外配置,直接执行flutter packages pub publish即可。
allow_access

但执行时,会有以下提示:要求登录谷歌账号并进行验证才能正常publish。将提示中的url复制到浏览器进行操作(这里需要翻墙,你懂滴)

2. 发布到私有pub仓库(公司内部pub仓库)

2.1 部署pub server服务

这里只是简单的介绍如何本地运行模拟服务

// 拉取源码
git clone https://github.com/dart-archive/pub_server.git
...
cd pub_server/
...
pub get
...
dart example/example.dart -d /tmp/package-db

// 运行服务
Listening on http://localhost:8080
To make the pub client use this repository configure your shell via:
    // 当你看到这里就说明服务正常运行了
    $ export PUB_HOSTED_URL=http://localhost:8080 
2.2 将package发布到:http://localhost:8080

在pubspec.yaml中通过publish_to属性配置pub私有仓库地址

name: cusotm_package                                          // package名称
description: test custom package publish to private pub       // 描述
version: 1.0.0                                                // 发布的版本号
author: king                                                  // 作者
homepage: https://gitee.com/wenjinzhu/flutter_package.git     // 主页
publish_to: http://localhost:8080                             // 这里配置的就是pub私有仓库地址,发布到pub.dev是不需要配置的
2.3 使用私有仓库的package
dependencies:
  test_package: // package名
    hosted:
      name: test_package // package名
      url: http://localhost:8080 // 仓库地址
    version: ^0.0.1 // package版本

3. 发布到github/gitee/gitlab等

将我们打包好的package直接放到git上边即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值