携手创作,一起生长!这是我参与「日新计划 8 月更文挑战」的第10天,点击查看活动概况

本文首要记载下plugin开发中的一些问题记载以及本地库和私有库运用

1. 发布plugin到私有库

之前发布了关于plugin发布并创立发布到pub,感兴趣能够看下之前的文章 Plugin的创立与发布,那么怎么创立到私有库呢? 咱们假如只是想自己运用或许在公司的gitlab上运用怎么操作呢?

1.1 发布gitlab上

咱们在gitlab上创立库房,之后咱们创立一个plugin

之后对该目录工程进行惯例的git操作 git init

 by_flutter_example_plugin % git init
 by_flutter_example_plugin % git remote add origin git@xxx/by_flutter_example_plugin.git 
 by_flutter_example_plugin % git add .
 by_flutter_example_plugin % git commit -m "Initial commit"
 by_flutter_example_plugin % git push -u origin develop

当然也能够运用客户端操作,上传后库房如下

Flutter中Plugin开发之私有库和本地库

加载Git packages,修正pubspec.yaml运用

by_flutter_example_plugin:
       git:
          url: git@xxx/by_flutter_example_plugin.git
          ref: develop

ref能够指定某个commitbranch或许tag

1.2 发布Github上

发布到Github运用也是类似,创立库房后假如是公有库房的话直接就git操作上传即可,有的时分咱们会指定git版别关于一些三方的库,可能有些适配或许问题,咱们就能够拷贝一份到自己的库房进行一些自定义的修正

  • 指定版别
pull_to_refresh:
  git:
    url: https://github.com/miquelbeltran/flutter_pulltorefresh
  • checkout

Flutter中Plugin开发之私有库和本地库

这个时分咱们就能够做些自定义操作修正

我在GitHub上发布私有库的时分遇到了关于SSH验证的问题,相关的时分说不能运用账号和密码进行相关,运用SSH,关于SSH问题,我之前增加过了可是不知道是不是过期,所以从头上传了下电脑中的

cat ~/.ssh/id_rsa.pub

Flutter中Plugin开发之私有库和本地库

上传相同的git命令

Flutter中Plugin开发之私有库和本地库

运用

by_test_plugin_demo:
      git:
        url: git@github.com:DHFLoveWL/by_test_plugin_demo.git

2. 本地库的运用

2.1 本地服务器

关于本地库的方法有2种,一种是经过本地服务器进行创立上传运用

咱们下载pub_server 后put get 运转

pub_server % dart example/example.dart -d /tmp/package-db

Flutter中Plugin开发之私有库和本地库
表明成功,之后咱们在pubspec.yaml,增加publish_to

publish_to: http://localhost:8080

之后操作和发布到pub 相同

flutter packages pub publish

运用

flutter_imkit_plugin:
    hosted:
      name: flutter_imkit_plugin
      url: http://localhost:8080
    version: ^0.0.2

2.2 手动创立

假如代码没啥要求,直接放在本地,开发调试也愈加便利.咱们把创立好的plugin放到flutter项目根目录下,创立文件夹plugins,放入咱们的plugin

Flutter中Plugin开发之私有库和本地库

加载plugin

dev_dependencies:
  by_test_plugin:
    path: plugins/by_test_plugin

导入成功

Flutter中Plugin开发之私有库和本地库

3. plugin开发增加照片

咱们增加图片资源

Flutter中Plugin开发之私有库和本地库

咱们在plugin的插件中需求加载完好的途径才能读取官方阐明

Flutter中Plugin开发之私有库和本地库

能够发现关于想运用packgae中咱们要运用图片的话,首先要在pubspec.yaml中加载加载完好途径,其次运用的时分要指定packages.在内部运用的话拼接完成途径即可,不必指定包

关于咱们在plugin插件中运用图片资源的话,咱们不导入完好途径

Flutter中Plugin开发之私有库和本地库

笔者开始的时分全部导入,后面我又注释了也能够,之后从头运转又报错

Flutter中Plugin开发之私有库和本地库

最后仍是依照官方的来运用吧,增加完好的途径包含json文件

Flutter中Plugin开发之私有库和本地库

运转正常:

Flutter中Plugin开发之私有库和本地库

4. 小结

plugin咱们能够在本地文件夹下进行调试,修正。之后在上传,较便利。私有库咱们指定giturl即可,经过ref增加条件。比,运用资源的时分要指定package同时拼接完好途径